
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Removing unreachable block (ram,0x00262e8d) */
/* WARNING: Unknown calling convention */
/* 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 */

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

{
  double dVar1;
  int iVar2;
  PixelChannelMap *pPVar3;
  PixelTrait PVar4;
  int iVar5;
  PixelTrait PVar6;
  PixelTrait PVar7;
  _Image *p_Var8;
  ushort uVar9;
  float fVar10;
  float fVar11;
  ushort uVar12;
  ushort uVar13;
  ushort uVar14;
  Image *image;
  MagickBooleanType MVar15;
  int iVar16;
  uint uVar17;
  uint uVar18;
  uint uVar19;
  ushort *__s;
  int iVar20;
  Quantum *pQVar21;
  Image *pIVar22;
  double *pdVar23;
  uint uVar24;
  int iVar25;
  int iVar26;
  byte *__s_00;
  size_t sVar27;
  int *piVar28;
  int iVar29;
  ushort *puVar30;
  int iVar31;
  uint uVar32;
  ushort *puVar33;
  PixelInfo *pPVar34;
  uchar (*pauVar35) [3];
  uchar (*pauVar36) [3];
  size_t __n;
  uint uVar37;
  PixelInfo *pPVar38;
  int in_GS_OFFSET;
  bool bVar39;
  byte bVar40;
  MagickOffsetType MVar41;
  MagickSizeType MVar42;
  size_t sVar43;
  ExceptionType severity;
  char *pcVar44;
  int local_10c;
  int local_f4;
  int local_c8;
  void *local_b0;
  uint local_ac;
  int local_a8;
  PixelInfo *local_a0;
  MagickBooleanType local_9c;
  uint local_94;
  int local_90;
  PixelInfo transpix;
  
  bVar40 = 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/palm.c",0x124,"ReadPALMImage");
  }
  if (image_info->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,
                  "ReadPALMImage");
  }
  if (image_info->debug != MagickFalse) {
    LogMagickEvent(TraceEvent,"coders/palm.c","ReadPALMImage",0x127,"%s",image_info->filename);
  }
  if (exception == (ExceptionInfo *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage");
  }
  if (exception->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,
                  "ReadPALMImage");
  }
  image = AcquireImage(image_info,exception);
  MVar15 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);
  local_94 = 0;
  local_90 = 0;
  if (MVar15 == MagickFalse) {
    pIVar22 = (Image *)0x0;
    DestroyImageList(image);
  }
  else {
    do {
      uVar12 = ReadBlobMSBShort(image);
      image->columns = (uint)uVar12;
      uVar12 = ReadBlobMSBShort(image);
      image->rows = (uint)uVar12;
      iVar16 = EOFBlob(image);
      if (iVar16 != 0) {
        pcVar44 = "ImproperImageHeader";
        severity = CorruptImageError;
        sVar43 = 0x138;
LAB_0026218b:
        ThrowMagickException
                  (exception,"coders/palm.c","ReadPALMImage",sVar43,severity,pcVar44,"`%s\'",
                   image_info->filename);
        CloseBlob(image);
        DestroyImageList(image);
        pIVar22 = (Image *)0x0;
        goto LAB_002621b8;
      }
      if ((image->columns == 0) || (image->rows == 0)) {
        pcVar44 = "NegativeOrZeroImageSize";
        severity = CorruptImageError;
        sVar43 = 0x13a;
        goto LAB_0026218b;
      }
      MVar15 = SetImageExtent(image,image->columns,image->rows,exception);
      if (MVar15 == MagickFalse) goto LAB_00262f23;
      SetImageBackgroundColor(image,exception);
      uVar12 = ReadBlobMSBShort(image);
      uVar17 = (uint)uVar12;
      uVar12 = ReadBlobMSBShort(image);
      uVar18 = ReadBlobByte(image);
      if ((0x10 < uVar18) || ((0x10116U >> (uVar18 & 0x1f) & 1) == 0)) {
        pcVar44 = "UnsupportedBitsPerPixel";
        severity = CorruptImageError;
        sVar43 = 0x145;
        goto LAB_0026218b;
      }
      uVar19 = ReadBlobByte(image);
      if (2 < uVar19) {
        pcVar44 = "FileFormatVersionMismatch";
        severity = CorruptImageError;
        sVar43 = 0x148;
        goto LAB_0026218b;
      }
      uVar13 = ReadBlobMSBShort(image);
      iVar16 = ReadBlobByte(image);
      uVar19 = ReadBlobByte(image);
      if ((uVar19 != 0xff) && (1 < uVar19)) {
        pcVar44 = "UnrecognizedImageCompression";
        severity = CorruptImageError;
        sVar43 = 0x14f;
        goto LAB_0026218b;
      }
      ReadBlobMSBShort(image);
      if (uVar18 == 0x10) {
        GetPixelInfo(image,&transpix);
        ReadBlobByte(image);
        ReadBlobByte(image);
        ReadBlobByte(image);
        ReadBlobByte(image);
        ReadBlobByte(image);
        iVar20 = ReadBlobByte(image);
        fVar10 = DAT_00306a38;
        fVar11 = DAT_002df8a8;
        transpix.red = (MagickRealType)((DAT_002df8a8 * (float)iVar20) / DAT_00306a38);
        iVar20 = ReadBlobByte(image);
        transpix.green = (MagickRealType)(((float)iVar20 * fVar11) / DAT_0030d3a4);
        iVar20 = ReadBlobByte(image);
        transpix.blue = (MagickRealType)(((float)iVar20 * fVar11) / fVar10);
        if ((short)uVar12 < 0) goto LAB_00262c40;
        image->storage_class = DirectClass;
      }
      else {
        MVar15 = AcquireImageColormap(image,1 << ((byte)uVar18 & 0x1f),exception);
        if (MVar15 == MagickFalse) {
          pcVar44 = "MemoryAllocationFailed";
          severity = ErrorException;
          sVar43 = 0x158;
          goto LAB_0026218b;
        }
        GetPixelInfo(image,&transpix);
        if (uVar18 == 8) {
          if ((uVar12 & 0x4000) == 0) {
            iVar20 = 0xff;
            pauVar36 = PalmPalette;
            do {
              if (iVar20 < (int)image->colors) {
                local_10c = iVar20 * 0x50;
              }
              else {
                local_10c = 0;
                if (exception->severity != CorruptImageError) {
                  local_10c = 0;
                  ThrowMagickException
                            (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",
                             0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);
                }
              }
              fVar11 = DAT_002e814c;
              pPVar34 = image->colormap;
              pauVar35 = pauVar36 + 1;
              iVar20 = iVar20 + -1;
              *(double *)((int)&pPVar34->red + local_10c) =
                   (double)((float)(*pauVar36)[0] * DAT_002e814c);
              *(double *)((int)&pPVar34->green + local_10c) =
                   (double)((float)(*pauVar36)[1] * fVar11);
              *(double *)((int)&pPVar34->blue + local_10c) =
                   (double)((float)(*pauVar36)[2] * fVar11);
              pauVar36 = pauVar35;
            } while (pauVar35 != (uchar (*) [3])"Pango Markup Language");
          }
          else {
            uVar14 = ReadBlobMSBShort(image);
            if (uVar14 != 0) {
              iVar20 = 0xff;
              do {
                ReadBlobByte(image);
                if ((iVar20 < 0) || ((int)image->colors <= iVar20)) {
                  iVar25 = 0;
                  if (exception->severity != CorruptImageError) {
                    ThrowMagickException
                              (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",
                               0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename
                              );
                  }
                }
                else {
                  iVar25 = iVar20 * 0x50;
                }
                iVar20 = iVar20 + -1;
                uVar24 = ReadBlobByte(image);
                dVar1 = (double)DAT_002e814c;
                *(double *)((int)&image->colormap->red + iVar25) =
                     (double)((float)(uVar24 & 0xff) * DAT_002e814c);
                uVar24 = ReadBlobByte(image);
                *(double *)((int)&image->colormap->green + iVar25) = dVar1 * (double)(uVar24 & 0xff)
                ;
                uVar24 = ReadBlobByte(image);
                *(double *)((int)&image->colormap->blue + iVar25) = dVar1 * (double)(uVar24 & 0xff);
              } while (0xff - (uint)uVar14 != iVar20);
            }
          }
          if ((short)uVar12 < 0) goto LAB_00262c40;
        }
        else {
          if ((short)uVar12 < 0) {
LAB_00262c40:
            ReadBlobMSBShort(image);
          }
          image->storage_class = DirectClass;
          if (uVar18 == 0x10) goto LAB_002622bf;
        }
        image->storage_class = PseudoClass;
        image->depth = 8;
      }
LAB_002622bf:
      local_a0 = &transpix;
      if (image_info->ping != MagickFalse) {
        CloseBlob(image);
        pIVar22 = image;
        goto LAB_002621b8;
      }
      local_9c = SetImageExtent(image,image->columns,image->rows,exception);
      if (local_9c == MagickFalse) goto LAB_00262f23;
      uVar24 = image->columns * 2;
      if (uVar24 < uVar17) {
        uVar24 = uVar17;
      }
      __s = (ushort *)AcquireQuantumMemory(uVar24,1);
      if (__s == (ushort *)0x0) {
        pcVar44 = "MemoryAllocationFailed";
        severity = ErrorException;
        sVar43 = 0x19c;
        goto LAB_0026218b;
      }
      memset(__s,0,uVar24);
      local_b0 = (void *)0x0;
      if (uVar19 == 0) {
        uVar24 = image->columns * 2;
        if (uVar24 < uVar17) {
          uVar24 = uVar17;
        }
        local_b0 = AcquireQuantumMemory(uVar24,1);
        if (local_b0 == (void *)0x0) {
          RelinquishMagickMemory(__s);
          pcVar44 = "MemoryAllocationFailed";
          severity = ErrorException;
          sVar43 = 0x1a6;
          goto LAB_0026218b;
        }
        uVar24 = image->columns * 2;
        if (uVar24 < uVar17) {
          uVar24 = uVar17;
        }
        memset(local_b0,0,uVar24);
      }
      iVar20 = (1 << ((byte)uVar18 & 0x1f)) + -1;
      if (0 < (int)image->rows) {
        local_c8 = 0;
        local_ac = 0;
        local_a8 = 0;
        do {
          if ((short)uVar12 < 0) {
            if (uVar19 == 1) {
              image->compression = RLECompression;
              if (uVar17 != 0) {
                iVar25 = 0;
                do {
                  sVar27 = ReadBlobByte(image);
                  if ((int)sVar27 < 0) break;
                  __n = uVar17 - iVar25;
                  if ((int)sVar27 < (int)(uVar17 - iVar25)) {
                    __n = sVar27;
                  }
                  iVar26 = ReadBlobByte(image);
                  __s_00 = (byte *)((int)__s + iVar25);
                  iVar25 = iVar25 + __n;
                  memset(__s_00,iVar26,__n);
                } while (iVar25 < (int)uVar17);
              }
            }
            else if (uVar19 == 0) {
              image->compression = FaxCompression;
              if (uVar17 != 0) {
                local_f4 = 0;
                puVar33 = __s;
                do {
                  uVar24 = ReadBlobByte(image);
                  if ((int)uVar24 < 0) break;
                  uVar37 = uVar17 - local_f4;
                  if ((int)uVar37 < 8) {
                    if (uVar37 != 0) goto LAB_002629c0;
                  }
                  else {
                    uVar37 = 8;
LAB_002629c0:
                    uVar32 = 0;
                    if (local_c8 == 0) {
                      do {
                        iVar25 = ReadBlobByte(image);
                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;
                        uVar32 = uVar32 + 1;
                      } while (uVar32 < uVar37);
                    }
                    else {
                      uVar32 = 0;
                      do {
                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {
                          iVar25 = ReadBlobByte(image);
                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;
                          uVar32 = uVar32 + 1;
                          if (uVar37 <= uVar32) goto LAB_00262a23;
                        }
                        *(byte *)((int)puVar33 + uVar32) =
                             *(byte *)((int)local_b0 + uVar32 + local_f4);
                        uVar32 = uVar32 + 1;
                      } while (uVar32 < uVar37);
                    }
                  }
LAB_00262a23:
                  local_f4 = local_f4 + 8;
                  puVar33 = puVar33 + 4;
                } while (local_f4 != (uVar17 - 1 & 0xfffffff8) + 8);
              }
              memcpy(local_b0,__s,uVar17);
            }
          }
          else {
            image->compression = NoCompression;
            uVar24 = ReadBlob(image,uVar17,__s);
            if (uVar24 != uVar17) break;
          }
          pQVar21 = QueueAuthenticPixels(image,0,local_c8,image->columns,1,exception);
          fVar11 = DAT_002df8a8;
          if (pQVar21 == (Quantum *)0x0) break;
          uVar24 = image->columns;
          if (uVar18 != 0x10) {
            if (0 < (int)uVar24) {
              if (uVar17 == 0) {
LAB_002628e2:
                RelinquishMagickMemory(__s);
                if (uVar19 == 0) {
                  RelinquishMagickMemory(local_b0);
                }
                pcVar44 = "CorruptImage";
                severity = CorruptImageError;
                sVar43 = 0x206;
                goto LAB_0026218b;
              }
              iVar31 = 0;
              pPVar3 = image->channel_map;
              PVar4 = pPVar3[5].traits;
              pPVar34 = image->colormap;
              sVar43 = image->number_channels;
              iVar25 = pPVar3->offset;
              iVar26 = pPVar3[1].offset;
              iVar5 = pPVar3[2].offset;
              PVar6 = pPVar3[3].traits;
              PVar7 = pPVar3[4].traits;
              iVar29 = 8 - uVar18;
              puVar33 = __s;
              while( true ) {
                uVar37 = iVar20 - (((uint)(byte)*puVar33 & iVar20 << ((byte)iVar29 & 0x1f)) >>
                                  ((byte)iVar29 & 0x1f));
                if (PVar4 != UndefinedPixelTrait) {
                  pQVar21[pPVar3[5].offset] = (double)uVar37;
                }
                pQVar21[iVar25] = pPVar34[uVar37].red;
                pQVar21[iVar26] = pPVar34[uVar37].green;
                pQVar21[iVar5] = pPVar34[uVar37].blue;
                if (PVar6 != UndefinedPixelTrait) {
                  pQVar21[pPVar3[3].offset] = pPVar34[uVar37].black;
                }
                if (PVar7 != UndefinedPixelTrait) {
                  fVar10 = fVar11;
                  if (pPVar34[uVar37].alpha_trait != UndefinedPixelTrait) {
                    fVar10 = (float)pPVar34[uVar37].alpha;
                  }
                  pQVar21[pPVar3[4].offset] = (double)fVar10;
                }
                if (iVar29 == 0) {
                  puVar33 = (ushort *)((int)puVar33 + 1);
                  iVar29 = 8 - uVar18;
                }
                else {
                  iVar29 = iVar29 - uVar18;
                }
                if (uVar24 == iVar31 + 1U) break;
                iVar31 = iVar31 + 1;
                pQVar21 = pQVar21 + sVar43;
                if (uVar17 <= (uint)((int)puVar33 - (int)__s)) goto LAB_002628e2;
              }
            }
            MVar15 = SyncAuthenticPixels(image,exception);
            if (MVar15 != MagickFalse) goto LAB_00262579;
            break;
          }
          if (uVar17 * 2 < uVar24) {
            RelinquishMagickMemory(__s);
            if (uVar19 == 0) {
              RelinquishMagickMemory(local_b0);
            }
            pcVar44 = "CorruptImage";
            severity = CorruptImageError;
            sVar43 = 0x1ec;
            goto LAB_0026218b;
          }
          if (uVar24 == 0) {
LAB_00262579:
            p_Var8 = image->previous;
            uVar24 = image->rows;
          }
          else {
            pPVar3 = image->channel_map;
            sVar43 = image->number_channels;
            iVar25 = pPVar3[1].offset;
            iVar26 = pPVar3->offset;
            iVar5 = pPVar3[2].offset;
            if (pPVar3[4].traits != UndefinedPixelTrait) {
              iVar29 = pPVar3[4].offset;
              puVar33 = __s;
              do {
                fVar10 = DAT_00306a38;
                puVar30 = puVar33 + 1;
                uVar14 = *puVar33 << 8;
                uVar9 = *puVar33 >> 8;
                pQVar21[iVar26] = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);
                pQVar21[iVar25] =
                     (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);
                pQVar21[iVar5] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);
                pQVar21[iVar29] = (double)fVar11;
                pQVar21 = pQVar21 + sVar43;
                puVar33 = puVar30;
              } while (puVar30 != __s + uVar24);
              goto LAB_00262579;
            }
            pdVar23 = pQVar21 + iVar26;
            puVar33 = __s;
            do {
              fVar10 = DAT_00306a38;
              puVar30 = puVar33 + 1;
              uVar14 = *puVar33 << 8;
              uVar9 = *puVar33 >> 8;
              *pdVar23 = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);
              pdVar23[iVar25 - iVar26] =
                   (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);
              pdVar23[iVar5 - iVar26] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);
              pdVar23 = pdVar23 + sVar43;
              puVar33 = puVar30;
            } while (__s + uVar24 != puVar30);
            p_Var8 = image->previous;
            uVar24 = image->rows;
          }
          if (p_Var8 == (_Image *)0x0) {
            local_9c = SetImageProgress(image,"Load/Image",CONCAT44(local_a8,local_ac),
                                        (ulonglong)uVar24);
            if (local_9c == MagickFalse) break;
            uVar24 = image->rows;
          }
          local_c8 = local_c8 + 1;
          bVar39 = 0xfffffffe < local_ac;
          local_ac = local_ac + 1;
          local_a8 = local_a8 + (uint)bVar39;
        } while (local_c8 < (int)uVar24);
      }
      if ((uVar12 & 0x2000) != 0) {
        iVar20 = iVar20 - iVar16;
        if (((iVar20 < 0) || ((int)image->colors <= iVar20)) &&
           (iVar20 = 0, exception->severity != CorruptImageError)) {
          ThrowMagickException
                    (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,
                     CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);
        }
        if (uVar18 != 0x10) {
          pPVar34 = image->colormap + iVar20;
          pPVar38 = local_a0;
          for (iVar16 = 0x14; iVar16 != 0; iVar16 = iVar16 + -1) {
            pPVar38->storage_class = pPVar34->storage_class;
            pPVar34 = (PixelInfo *)((int)pPVar34 + (uint)bVar40 * -8 + 4);
            pPVar38 = (PixelInfo *)((int)pPVar38 + (uint)bVar40 * -8 + 4);
          }
        }
        TransparentPaintImage(image,local_a0,0.0,MagickFalse,exception);
      }
      RelinquishMagickMemory(__s);
      if (uVar19 == 0) {
        RelinquishMagickMemory(local_b0);
      }
      iVar16 = EOFBlob(image);
      if (iVar16 != 0) {
        piVar28 = __errno_location();
        pcVar44 = GetExceptionMessage(*piVar28);
        ThrowMagickException
                  (exception,"coders/palm.c","ReadPALMImage",0x22e,CorruptImageError,
                   "UnexpectedEndOfFile","\'%s\': %s");
        DestroyString(pcVar44);
LAB_0026266b:
        CloseBlob(image);
        if (local_9c == MagickFalse) goto LAB_00262f23;
        pIVar22 = GetFirstImageInList(image);
        goto LAB_002621b8;
      }
      if (((image_info->number_scenes != 0) &&
          ((image_info->number_scenes + image_info->scene) - 1 <= image->scene)) || (uVar13 == 0))
      goto LAB_0026266b;
      uVar17 = (uint)uVar13 * 4;
      bVar39 = CARRY4(local_94,uVar17);
      local_94 = local_94 + uVar17;
      local_90 = local_90 + (uint)bVar39;
      MVar42 = GetBlobSize(image);
      if ((longlong)MVar42 <= CONCAT44(local_90,local_94)) {
        pcVar44 = "ImproperImageHeader";
        severity = CorruptImageError;
        sVar43 = 0x23e;
        goto LAB_0026218b;
      }
      MVar41 = SeekBlob(image,CONCAT44(local_90,local_94),0);
      if (MVar41 != CONCAT44(local_90,local_94)) {
        pcVar44 = "ImproperImageHeader";
        severity = CorruptImageError;
        sVar43 = 0x242;
        goto LAB_0026218b;
      }
      AcquireNextImage(image_info,image,exception);
      pIVar22 = GetNextImageInList(image);
      if (pIVar22 == (Image *)0x0) break;
      image = SyncNextImageInList(image);
      MVar42 = GetBlobSize(image);
      MVar41 = TellBlob(image);
      MVar15 = SetImageProgress(image,"Load/Images",MVar41,MVar42);
    } while (MVar15 != MagickFalse);
    CloseBlob(image);
LAB_00262f23:
    pIVar22 = DestroyImageList(image);
  }
LAB_002621b8:
  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {
    return pIVar22;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail_local();
}



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

undefined4 * FUN_00262010(int param_1,int *param_2)

{
  double dVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  ushort uVar10;
  float fVar11;
  float fVar12;
  byte bVar13;
  ushort uVar14;
  ushort uVar15;
  ushort uVar16;
  undefined4 *puVar17;
  int iVar18;
  uint uVar19;
  uint uVar20;
  uint uVar21;
  int iVar22;
  ushort *__s;
  int iVar23;
  undefined4 *puVar24;
  double *pdVar25;
  uint uVar26;
  int iVar27;
  byte *pbVar28;
  size_t sVar29;
  int *piVar30;
  int iVar31;
  ushort *puVar32;
  int iVar33;
  int iVar34;
  uint uVar35;
  ushort *puVar36;
  byte *pbVar37;
  size_t __n;
  uint uVar38;
  undefined4 *puVar39;
  int in_GS_OFFSET;
  bool bVar40;
  byte bVar41;
  undefined8 uVar42;
  undefined8 uVar43;
  longlong lVar44;
  undefined4 uVar45;
  undefined4 uVar46;
  char *pcVar47;
  int local_10c;
  int local_f4;
  int local_c8;
  void *local_b0;
  uint local_ac;
  int local_a8;
  undefined4 *local_a0;
  int local_9c;
  uint local_94;
  int local_90;
  undefined4 local_70 [8];
  double local_50;
  double local_48;
  double local_40;
  int local_20;
  undefined4 uStack_14;
  
  bVar41 = 0;
  uStack_14 = 0x262019;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info != (const ImageInfo *) NULL","coders/palm.c",0x124,"ReadPALMImage");
  }
  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,
                  "ReadPALMImage");
  }
  if (*(int *)(param_1 + 0x31f0) != 0) {
    LogMagickEvent(0x8000,"coders/palm.c","ReadPALMImage",0x127,&DAT_002f75ae,param_1 + 0x21f0);
  }
  if (param_2 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage");
  }
  if (param_2[7] != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,
                  "ReadPALMImage");
  }
  puVar17 = (undefined4 *)AcquireImage(param_1,param_2);
  iVar18 = OpenBlob(param_1,puVar17,2,param_2);
  local_94 = 0;
  local_90 = 0;
  if (iVar18 == 0) {
    puVar24 = (undefined4 *)0x0;
    DestroyImageList(puVar17);
  }
  else {
    do {
      uVar19 = ReadBlobMSBShort(puVar17);
      puVar17[6] = uVar19 & 0xffff;
      uVar19 = ReadBlobMSBShort(puVar17);
      puVar17[7] = uVar19 & 0xffff;
      iVar18 = EOFBlob(puVar17);
      if (iVar18 != 0) {
        pcVar47 = "ImproperImageHeader";
        uVar46 = 0x1a9;
        uVar45 = 0x138;
LAB_0026218b:
        ThrowMagickException
                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",
                   param_1 + 0x21f0);
        CloseBlob(puVar17);
        DestroyImageList(puVar17);
        puVar24 = (undefined4 *)0x0;
        goto LAB_002621b8;
      }
      if ((puVar17[6] == 0) || (puVar17[7] == 0)) {
        pcVar47 = "NegativeOrZeroImageSize";
        uVar46 = 0x1a9;
        uVar45 = 0x13a;
        goto LAB_0026218b;
      }
      iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);
      if (iVar18 == 0) goto LAB_00262f23;
      SetImageBackgroundColor(puVar17,param_2);
      uVar19 = ReadBlobMSBShort(puVar17);
      uVar19 = uVar19 & 0xffff;
      uVar14 = ReadBlobMSBShort(puVar17);
      uVar20 = ReadBlobByte(puVar17);
      if ((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)) {
        pcVar47 = "UnsupportedBitsPerPixel";
        uVar46 = 0x1a9;
        uVar45 = 0x145;
        goto LAB_0026218b;
      }
      uVar21 = ReadBlobByte(puVar17);
      if (2 < uVar21) {
        pcVar47 = "FileFormatVersionMismatch";
        uVar46 = 0x1a9;
        uVar45 = 0x148;
        goto LAB_0026218b;
      }
      uVar15 = ReadBlobMSBShort(puVar17);
      iVar18 = ReadBlobByte(puVar17);
      uVar21 = ReadBlobByte(puVar17);
      if ((uVar21 != 0xff) && (1 < uVar21)) {
        pcVar47 = "UnrecognizedImageCompression";
        uVar46 = 0x1a9;
        uVar45 = 0x14f;
        goto LAB_0026218b;
      }
      ReadBlobMSBShort(puVar17);
      if (uVar20 == 0x10) {
        GetPixelInfo(puVar17,local_70);
        ReadBlobByte(puVar17);
        ReadBlobByte(puVar17);
        ReadBlobByte(puVar17);
        ReadBlobByte(puVar17);
        ReadBlobByte(puVar17);
        iVar22 = ReadBlobByte(puVar17);
        fVar11 = DAT_00306a38;
        fVar12 = DAT_002df8a8;
        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);
        iVar22 = ReadBlobByte(puVar17);
        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);
        iVar22 = ReadBlobByte(puVar17);
        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);
        if ((short)uVar14 < 0) goto LAB_00262c40;
        *puVar17 = 1;
      }
      else {
        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);
        if (iVar22 == 0) {
          pcVar47 = "MemoryAllocationFailed";
          uVar46 = 400;
          uVar45 = 0x158;
          goto LAB_0026218b;
        }
        GetPixelInfo(puVar17,local_70);
        if (uVar20 == 8) {
          if ((uVar14 & 0x4000) == 0) {
            iVar22 = 0xff;
            pbVar28 = &DAT_00344940;
            do {
              if (iVar22 < (int)puVar17[9]) {
                local_10c = iVar22 * 0x50;
              }
              else {
                local_10c = 0;
                if (*param_2 != 0x1a9) {
                  local_10c = 0;
                  ThrowMagickException
                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23
                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);
                }
              }
              fVar12 = DAT_002e814c;
              pbVar37 = pbVar28 + 3;
              iVar22 = iVar22 + -1;
              local_10c = puVar17[10] + local_10c;
              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);
              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);
              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);
              pbVar28 = pbVar37;
            } while (pbVar37 != (byte *)"Pango Markup Language");
          }
          else {
            uVar16 = ReadBlobMSBShort(puVar17);
            if (uVar16 != 0) {
              iVar22 = 0xff;
              do {
                ReadBlobByte(puVar17);
                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {
                  iVar23 = 0;
                  if (*param_2 != 0x1a9) {
                    ThrowMagickException
                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",
                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);
                  }
                }
                else {
                  iVar23 = iVar22 * 0x50;
                }
                iVar22 = iVar22 + -1;
                bVar13 = ReadBlobByte(puVar17);
                dVar1 = (double)DAT_002e814c;
                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);
                bVar13 = ReadBlobByte(puVar17);
                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;
                bVar13 = ReadBlobByte(puVar17);
                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;
              } while (0xff - (uint)uVar16 != iVar22);
            }
          }
          if ((short)uVar14 < 0) goto LAB_00262c40;
        }
        else {
          if ((short)uVar14 < 0) {
LAB_00262c40:
            ReadBlobMSBShort(puVar17);
          }
          *puVar17 = 1;
          if (uVar20 == 0x10) goto LAB_002622bf;
        }
        *puVar17 = 2;
        puVar17[8] = 8;
      }
LAB_002622bf:
      local_a0 = local_70;
      if (*(int *)(param_1 + 0x1bc) != 0) {
        CloseBlob(puVar17);
        puVar24 = puVar17;
        goto LAB_002621b8;
      }
      local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);
      if (local_9c == 0) goto LAB_00262f23;
      uVar26 = puVar17[6] * 2;
      if ((uint)(puVar17[6] * 2) < uVar19) {
        uVar26 = uVar19;
      }
      __s = (ushort *)AcquireQuantumMemory(uVar26,1);
      if (__s == (ushort *)0x0) {
        pcVar47 = "MemoryAllocationFailed";
        uVar46 = 400;
        uVar45 = 0x19c;
        goto LAB_0026218b;
      }
      memset(__s,0,uVar26);
      local_b0 = (void *)0x0;
      if (uVar21 == 0) {
        uVar26 = puVar17[6] * 2;
        if ((uint)(puVar17[6] * 2) < uVar19) {
          uVar26 = uVar19;
        }
        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);
        if (local_b0 == (void *)0x0) {
          RelinquishMagickMemory(__s);
          pcVar47 = "MemoryAllocationFailed";
          uVar46 = 400;
          uVar45 = 0x1a6;
          goto LAB_0026218b;
        }
        uVar26 = puVar17[6] * 2;
        if ((uint)(puVar17[6] * 2) < uVar19) {
          uVar26 = uVar19;
        }
        memset(local_b0,0,uVar26);
      }
      iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1;
      if (0 < (int)puVar17[7]) {
        local_c8 = 0;
        local_ac = 0;
        local_a8 = 0;
        do {
          if ((short)uVar14 < 0) {
            if (uVar21 == 1) {
              puVar17[2] = 0x13;
              if (uVar19 != 0) {
                iVar23 = 0;
                do {
                  sVar29 = ReadBlobByte(puVar17);
                  if ((int)sVar29 < 0) break;
                  __n = uVar19 - iVar23;
                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {
                    __n = sVar29;
                  }
                  iVar27 = ReadBlobByte(puVar17);
                  pbVar28 = (byte *)((int)__s + iVar23);
                  iVar23 = iVar23 + __n;
                  memset(pbVar28,iVar27,__n);
                } while (iVar23 < (int)uVar19);
              }
            }
            else if (uVar21 == 0) {
              puVar17[2] = 7;
              if (uVar19 != 0) {
                local_f4 = 0;
                puVar36 = __s;
                do {
                  uVar26 = ReadBlobByte(puVar17);
                  if ((int)uVar26 < 0) break;
                  uVar38 = uVar19 - local_f4;
                  if ((int)uVar38 < 8) {
                    if (uVar38 != 0) goto LAB_002629c0;
                  }
                  else {
                    uVar38 = 8;
LAB_002629c0:
                    uVar35 = 0;
                    if (local_c8 == 0) {
                      do {
                        bVar13 = ReadBlobByte(puVar17);
                        *(byte *)((int)puVar36 + uVar35) = bVar13;
                        uVar35 = uVar35 + 1;
                      } while (uVar35 < uVar38);
                    }
                    else {
                      uVar35 = 0;
                      do {
                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {
                          *(byte *)((int)puVar36 + uVar35) =
                               *(byte *)((int)local_b0 + uVar35 + local_f4);
                          uVar35 = uVar35 + 1;
                          if (uVar38 <= uVar35) goto LAB_00262a23;
                        }
                        bVar13 = ReadBlobByte(puVar17);
                        *(byte *)((int)puVar36 + uVar35) = bVar13;
                        uVar35 = uVar35 + 1;
                      } while (uVar35 < uVar38);
                    }
                  }
LAB_00262a23:
                  local_f4 = local_f4 + 8;
                  puVar36 = puVar36 + 4;
                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);
              }
              memcpy(local_b0,__s,uVar19);
            }
          }
          else {
            puVar17[2] = 0x10;
            uVar26 = ReadBlob(puVar17,uVar19,__s);
            if (uVar26 != uVar19) break;
          }
          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);
          fVar12 = DAT_002df8a8;
          if (iVar23 == 0) break;
          uVar26 = puVar17[6];
          if (uVar20 != 0x10) {
            if (0 < (int)uVar26) {
              if (uVar19 == 0) {
LAB_002628e2:
                RelinquishMagickMemory(__s);
                if (uVar21 == 0) {
                  RelinquishMagickMemory(local_b0);
                }
                pcVar47 = "CorruptImage";
                uVar46 = 0x1a9;
                uVar45 = 0x206;
                goto LAB_0026218b;
              }
              iVar34 = 0;
              iVar27 = puVar17[0xaa];
              iVar2 = *(int *)(iVar27 + 0x40);
              iVar3 = puVar17[10];
              iVar4 = puVar17[0xa6];
              iVar5 = *(int *)(iVar27 + 8);
              iVar6 = *(int *)(iVar27 + 0x14);
              iVar7 = *(int *)(iVar27 + 0x20);
              iVar8 = *(int *)(iVar27 + 0x28);
              iVar9 = *(int *)(iVar27 + 0x34);
              iVar31 = 8 - uVar20;
              puVar36 = __s;
              while( true ) {
                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>
                                  ((byte)iVar31 & 0x1f));
                if (iVar2 != 0) {
                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;
                }
                iVar33 = uVar38 * 0x50 + iVar3;
                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);
                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);
                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);
                if (iVar8 != 0) {
                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =
                       *(undefined8 *)(iVar33 + 0x38);
                }
                if (iVar9 != 0) {
                  fVar11 = fVar12;
                  if (*(int *)(iVar33 + 8) != 0) {
                    fVar11 = (float)*(double *)(iVar33 + 0x40);
                  }
                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;
                }
                if (iVar31 == 0) {
                  puVar36 = (ushort *)((int)puVar36 + 1);
                  iVar31 = 8 - uVar20;
                }
                else {
                  iVar31 = iVar31 - uVar20;
                }
                if (uVar26 == iVar34 + 1U) break;
                iVar34 = iVar34 + 1;
                iVar23 = iVar23 + iVar4 * 8;
                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;
              }
            }
            iVar23 = SyncAuthenticPixels(puVar17,param_2);
            if (iVar23 != 0) goto LAB_00262579;
            break;
          }
          if (uVar19 * 2 < uVar26) {
            RelinquishMagickMemory(__s);
            if (uVar21 == 0) {
              RelinquishMagickMemory(local_b0);
            }
            pcVar47 = "CorruptImage";
            uVar46 = 0x1a9;
            uVar45 = 0x1ec;
            goto LAB_0026218b;
          }
          if (uVar26 == 0) {
LAB_00262579:
            iVar23 = puVar17[0xccf];
            iVar27 = puVar17[7];
          }
          else {
            iVar27 = puVar17[0xaa];
            iVar2 = puVar17[0xa6];
            iVar3 = *(int *)(iVar27 + 0x14);
            iVar4 = *(int *)(iVar27 + 8);
            iVar5 = *(int *)(iVar27 + 0x20);
            if (*(int *)(iVar27 + 0x34) != 0) {
              iVar27 = *(int *)(iVar27 + 0x38);
              puVar36 = __s;
              do {
                fVar11 = DAT_00306a38;
                puVar32 = puVar36 + 1;
                uVar16 = *puVar36 << 8;
                uVar10 = *puVar36 >> 8;
                *(double *)(iVar23 + iVar4 * 8) =
                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);
                *(double *)(iVar23 + iVar3 * 8) =
                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);
                *(double *)(iVar23 + iVar5 * 8) =
                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);
                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;
                iVar23 = iVar23 + iVar2 * 8;
                puVar36 = puVar32;
              } while (puVar32 != __s + uVar26);
              goto LAB_00262579;
            }
            pdVar25 = (double *)(iVar23 + iVar4 * 8);
            puVar36 = __s;
            do {
              fVar11 = DAT_00306a38;
              puVar32 = puVar36 + 1;
              uVar16 = *puVar36 << 8;
              uVar10 = *puVar36 >> 8;
              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);
              pdVar25[iVar3 - iVar4] =
                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);
              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);
              pdVar25 = pdVar25 + iVar2;
              puVar36 = puVar32;
            } while (__s + uVar26 != puVar32);
            iVar23 = puVar17[0xccf];
            iVar27 = puVar17[7];
          }
          if (iVar23 == 0) {
            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);
            if (local_9c == 0) break;
            iVar27 = puVar17[7];
          }
          local_c8 = local_c8 + 1;
          bVar40 = 0xfffffffe < local_ac;
          local_ac = local_ac + 1;
          local_a8 = local_a8 + (uint)bVar40;
        } while (local_c8 < iVar27);
      }
      if ((uVar14 & 0x2000) != 0) {
        iVar22 = iVar22 - iVar18;
        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {
          ThrowMagickException
                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,
                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);
        }
        if (uVar20 != 0x10) {
          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);
          puVar39 = local_a0;
          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {
            *puVar39 = *puVar24;
            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;
            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;
          }
        }
        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);
      }
      RelinquishMagickMemory(__s);
      if (uVar21 == 0) {
        RelinquishMagickMemory(local_b0);
      }
      iVar18 = EOFBlob(puVar17);
      if (iVar18 != 0) {
        piVar30 = __errno_location();
        uVar45 = GetExceptionMessage(*piVar30);
        ThrowMagickException
                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",
                   "\'%s\': %s",puVar17 + 0xc6,uVar45);
        DestroyString(uVar45);
LAB_0026266b:
        CloseBlob(puVar17);
        if (local_9c == 0) goto LAB_00262f23;
        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);
        goto LAB_002621b8;
      }
      if (((*(int *)(param_1 + 0x2c) != 0) &&
          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||
         (uVar15 == 0)) goto LAB_0026266b;
      uVar19 = (uint)uVar15 * 4;
      bVar40 = CARRY4(local_94,uVar19);
      local_94 = local_94 + uVar19;
      local_90 = local_90 + (uint)bVar40;
      lVar44 = GetBlobSize(puVar17);
      if (lVar44 <= CONCAT44(local_90,local_94)) {
        pcVar47 = "ImproperImageHeader";
        uVar46 = 0x1a9;
        uVar45 = 0x23e;
        goto LAB_0026218b;
      }
      lVar44 = SeekBlob(puVar17,local_94,local_90,0);
      if (lVar44 != CONCAT44(local_90,local_94)) {
        pcVar47 = "ImproperImageHeader";
        uVar46 = 0x1a9;
        uVar45 = 0x242;
        goto LAB_0026218b;
      }
      AcquireNextImage(param_1,puVar17,param_2);
      iVar18 = GetNextImageInList(puVar17);
      if (iVar18 == 0) break;
      puVar17 = (undefined4 *)SyncNextImageInList(puVar17);
      uVar42 = GetBlobSize(puVar17);
      uVar43 = TellBlob(puVar17);
      iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42);
    } while (iVar18 != 0);
    CloseBlob(puVar17);
LAB_00262f23:
    puVar24 = (undefined4 *)DestroyImageList(puVar17);
  }
LAB_002621b8:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_002decd0();
  }
  return puVar24;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00039d70
ADD EBX,0x1bbfe7
SUB ESP,0xfc
MOV ECX,dword ptr [ESP + 0x114]
MOV EAX,dword ptr [ESP + 0x110]
MOV dword ptr [ESP + 0x4],ECX
MOV ECX,dword ptr GS:[0x14]
MOV dword ptr [ESP + 0xec],ECX
XOR ECX,ECX
MOV dword ptr [ESP + 0x54],EAX
TEST EAX,EAX
JZ 0x002631f5
CMP dword ptr [EAX + 0x31f4],0xabacadab
JNZ 0x002631d6
MOV EAX,dword ptr [EAX + 0x31f0]
TEST EAX,EAX
JNZ 0x00262a88
MOV EAX,dword ptr [ESP + 0x4]
TEST EAX,EAX
JZ 0x00263193
MOV EAX,dword ptr [ESP + 0x4]
CMP dword ptr [EAX + 0x1c],0xabacadab
JNZ 0x002631b7
SUB ESP,0x8
MOV EDI,dword ptr [ESP + 0xc]
PUSH EDI
MOV ESI,dword ptr [ESP + 0x60]
PUSH ESI
CALL 0x000313c0
ADD ESP,0x10
PUSH EDI
MOV EBP,EAX
PUSH 0x2
PUSH EAX
PUSH ESI
CALL 0x00032230
ADD ESP,0x10
MOV dword ptr [ESP + 0x78],0x0
MOV dword ptr [ESP + 0x7c],0x0
TEST EAX,EAX
JZ 0x00262fa4
SUB ESP,0xc
PUSH EBP
CALL 0x00033ab0
MOVZX EAX,AX
MOV dword ptr [EBP + 0x18],EAX
MOV dword ptr [ESP],EBP
CALL 0x00033ab0
MOVZX EAX,AX
MOV dword ptr [EBP + 0x1c],EAX
MOV dword ptr [ESP],EBP
CALL 0x00030ee0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00262fde
MOV EAX,dword ptr [EBP + 0x18]
TEST EAX,EAX
JZ 0x00262fb7
MOV EDX,dword ptr [EBP + 0x1c]
TEST EDX,EDX
JZ 0x00262fb7
PUSH dword ptr [ESP + 0x4]
PUSH EDX
PUSH EAX
PUSH EBP
CALL 0x00031910
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00262f23
SUB ESP,0x8
PUSH dword ptr [ESP + 0xc]
PUSH EBP
CALL 0x000330a0
MOV dword ptr [ESP],EBP
CALL 0x00033ab0
MOV dword ptr [ESP],EBP
MOVZX EAX,AX
MOV dword ptr [ESP + 0x20],EAX
CALL 0x00033ab0
MOV dword ptr [ESP],EBP
MOV word ptr [ESP + 0x90],AX
CALL 0x00030c90
MOV dword ptr [ESP + 0x30],EAX
MOV ECX,EAX
ADD ESP,0x10
CMP EAX,0x10
JBE 0x002621e0
MOV EAX,dword ptr [ESP + 0x54]
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EBX + 0xffec3be0]
PUSH EAX
LEA EAX,[EBX + 0xffeeeff0]
PUSH EAX
PUSH 0x1a9
PUSH 0x145
LEA EAX,[EBX + 0xfff268f8]
PUSH EAX
LEA EAX,[EBX + 0xfff2688e]
PUSH EAX
PUSH dword ptr [ESP + 0x20]
CALL 0x00032e80
ADD ESP,0x14
PUSH EBP
CALL 0x000311d0
MOV dword ptr [ESP],EBP
XOR EBP,EBP
CALL 0x000317a0
ADD ESP,0x10
MOV EBX,dword ptr [ESP + 0xec]
XOR EBX,dword ptr GS:[0x14]
MOV EAX,EBP
JNZ 0x002631b2
ADD ESP,0xfc
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,0x10116
BT EAX,ECX
JNC 0x00262169
SUB ESP,0xc
PUSH EBP
CALL 0x00030c90
ADD ESP,0x10
CMP EAX,0x2
JA 0x00263016
SUB ESP,0xc
PUSH EBP
CALL 0x00033ab0
MOV dword ptr [ESP],EBP
MOV word ptr [ESP + 0x92],AX
CALL 0x00030c90
MOV dword ptr [ESP],EBP
MOV dword ptr [ESP + 0x94],EAX
CALL 0x00030c90
MOV dword ptr [ESP + 0x68],EAX
ADD ESP,0x10
CMP EAX,0xff
JZ 0x00262242
CMP EAX,0x1
JA 0x00262e66
SUB ESP,0xc
PUSH EBP
CALL 0x00033ab0
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x20]
CMP ECX,0x10
JZ 0x002626a0
MOV EAX,0x1
SUB ESP,0x4
PUSH dword ptr [ESP + 0x8]
SHL EAX,CL
PUSH EAX
PUSH EBP
CALL 0x000324e0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x002630b4
SUB ESP,0x8
LEA EAX,[ESP + 0xa4]
MOV dword ptr [ESP + 0x74],EAX
PUSH EAX
PUSH EBP
CALL 0x000320a0
ADD ESP,0x10
CMP dword ptr [ESP + 0x20],0x8
JZ 0x00262b60
CMP word ptr [ESP + 0x80],0x0
JS 0x00262c40
CMP dword ptr [ESP + 0x20],0x10
MOV dword ptr [EBP],0x1
JNZ 0x00262943
MOV EAX,dword ptr [ESP + 0x54]
MOV EAX,dword ptr [EAX + 0x1bc]
TEST EAX,EAX
JNZ 0x00263005
PUSH dword ptr [ESP + 0x4]
PUSH dword ptr [EBP + 0x1c]
PUSH dword ptr [EBP + 0x18]
PUSH EBP
CALL 0x00031910
MOV dword ptr [ESP + 0x80],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00262f23
MOV EAX,dword ptr [EBP + 0x18]
MOV ECX,dword ptr [ESP + 0x10]
ADD EAX,EAX
CMP EAX,ECX
CMOVC EAX,ECX
SUB ESP,0x8
PUSH 0x1
PUSH EAX
MOV ESI,EAX
CALL 0x000317b0
MOV dword ptr [ESP + 0x24],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0026303d
SUB ESP,0x4
PUSH ESI
PUSH 0x0
PUSH dword ptr [ESP + 0x20]
CALL 0x000310a0
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x58]
MOV dword ptr [ESP + 0x5c],0x0
TEST EAX,EAX
JZ 0x00262c58
MOVZX ECX,byte ptr [ESP + 0x20]
MOV EAX,0x1
SHL EAX,CL
SUB EAX,0x1
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,dword ptr [EBP + 0x1c]
TEST EAX,EAX
JLE 0x002625ab
MOV EAX,dword ptr [ESP + 0x10]
MOV dword ptr [ESP + 0x44],0x0
MOV dword ptr [ESP + 0x60],0x0
MOV dword ptr [ESP + 0x64],0x0
MOV dword ptr [ESP],EBP
LEA ECX,[EAX + EAX*0x1]
SUB EAX,0x1
AND EAX,0xfffffff8
MOV dword ptr [ESP + 0x68],ECX
MOV dword ptr [ESP + 0x74],EAX
CMP word ptr [ESP + 0x80],0x0
JNS 0x00262780
CMP dword ptr [ESP + 0x58],0x1
JZ 0x00262ca8
MOV EDI,dword ptr [ESP + 0x58]
TEST EDI,EDI
JZ 0x00262960
SUB ESP,0x8
PUSH dword ptr [ESP + 0xc]
PUSH 0x1
MOV ESI,dword ptr [ESP + 0x10]
PUSH dword ptr [ESI + 0x18]
PUSH dword ptr [ESP + 0x58]
PUSH 0x0
PUSH ESI
CALL 0x00032e70
ADD ESP,0x20
TEST EAX,EAX
JZ 0x002625a8
MOV ECX,dword ptr [ESI + 0x18]
CMP dword ptr [ESP + 0x20],0x10
MOV dword ptr [ESP + 0x1c],ECX
JZ 0x002627b0
MOV ECX,dword ptr [ESP + 0x1c]
MOV EDX,0x8
SUB EDX,dword ptr [ESP + 0x20]
TEST ECX,ECX
MOV dword ptr [ESP + 0x50],EDX
JLE 0x00262562
MOV EDX,dword ptr [ESP + 0x10]
TEST EDX,EDX
JZ 0x002628e2
MOV ECX,dword ptr [ESP]
XOR EBP,EBP
FLD dword ptr [EBX + 0xffec18a8]
MOV EDI,dword ptr [ECX + 0x2a8]
MOV ESI,dword ptr [EDI + 0x40]
MOV dword ptr [ESP + 0x18],EDI
MOV dword ptr [ESP + 0x2c],ESI
MOV ESI,dword ptr [ECX + 0x28]
MOV ECX,dword ptr [ECX + 0x298]
MOV dword ptr [ESP + 0x24],ESI
MOV ESI,dword ptr [EDI + 0x8]
SHL ECX,0x3
MOV dword ptr [ESP + 0x28],ECX
MOV ECX,dword ptr [ESP + 0x50]
SHL ESI,0x3
MOV dword ptr [ESP + 0x30],ESI
MOV ESI,dword ptr [EDI + 0x14]
SHL ESI,0x3
MOV dword ptr [ESP + 0x34],ESI
MOV ESI,dword ptr [EDI + 0x20]
SHL ESI,0x3
MOV dword ptr [ESP + 0x38],ESI
MOV ESI,dword ptr [EDI + 0x28]
MOV dword ptr [ESP + 0x3c],ESI
MOV ESI,dword ptr [EDI + 0x34]
MOV dword ptr [ESP + 0x40],ESI
MOV ESI,dword ptr [ESP + 0x14]
JMP 0x002624a5
SUB ECX,dword ptr [ESP + 0x20]
ADD EBP,0x1
ADD EAX,dword ptr [ESP + 0x28]
CMP dword ptr [ESP + 0x1c],EBP
JZ 0x00262560
MOV EDX,ESI
SUB EDX,dword ptr [ESP + 0x14]
CMP EDX,dword ptr [ESP + 0x10]
JNC 0x002628e0
MOV EDI,dword ptr [ESP + 0x8]
MOVZX EDX,byte ptr [ESI]
SHL EDI,CL
AND EDX,EDI
MOV EDI,dword ptr [ESP + 0x8]
SHR EDX,CL
SUB EDI,EDX
MOV EDX,EDI
MOV EDI,dword ptr [ESP + 0x2c]
TEST EDI,EDI
JZ 0x002624dc
MOV EDI,dword ptr [ESP + 0x18]
MOV dword ptr [ESP + 0x48],EDX
MOV dword ptr [ESP + 0x4c],0x0
FILD qword ptr [ESP + 0x48]
MOV EDI,dword ptr [EDI + 0x44]
FSTP qword ptr [EAX + EDI*0x8]
LEA EDX,[EDX + EDX*0x4]
MOV EDI,dword ptr [ESP + 0x30]
SHL EDX,0x4
ADD EDX,dword ptr [ESP + 0x24]
FLD qword ptr [EDX + 0x20]
FSTP qword ptr [EAX + EDI*0x1]
MOV EDI,dword ptr [ESP + 0x34]
FLD qword ptr [EDX + 0x28]
FSTP qword ptr [EAX + EDI*0x1]
MOV EDI,dword ptr [ESP + 0x38]
FLD qword ptr [EDX + 0x30]
FSTP qword ptr [EAX + EDI*0x1]
MOV EDI,dword ptr [ESP + 0x3c]
TEST EDI,EDI
JZ 0x00262519
MOV EDI,dword ptr [ESP + 0x18]
FLD qword ptr [EDX + 0x38]
MOV EDI,dword ptr [EDI + 0x2c]
FSTP qword ptr [EAX + EDI*0x8]
MOV EDI,dword ptr [ESP + 0x40]
TEST EDI,EDI
JZ 0x00262539
MOV EDI,dword ptr [EDX + 0x8]
TEST EDI,EDI
JZ 0x00262770
FLD qword ptr [EDX + 0x40]
MOV EDI,dword ptr [ESP + 0x18]
MOV EDX,dword ptr [EDI + 0x38]
FSTP qword ptr [EAX + EDX*0x8]
TEST ECX,ECX
JNZ 0x00262480
ADD ESI,0x1
MOV ECX,dword ptr [ESP + 0x50]
ADD EBP,0x1
ADD EAX,dword ptr [ESP + 0x28]
CMP dword ptr [ESP + 0x1c],EBP
JNZ 0x00262495
FSTP ST0
JMP 0x00262562
FSTP ST0
SUB ESP,0x8
PUSH dword ptr [ESP + 0xc]
PUSH dword ptr [ESP + 0xc]
CALL 0x000323a0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x002625a8
MOV ECX,dword ptr [ESP]
MOV EDX,dword ptr [ECX + 0x333c]
MOV EAX,dword ptr [ECX + 0x1c]
TEST EDX,EDX
JZ 0x002628a2
ADD dword ptr [ESP + 0x44],0x1
MOV ECX,dword ptr [ESP + 0x44]
ADD dword ptr [ESP + 0x60],0x1
ADC dword ptr [ESP + 0x64],0x0
CMP EAX,ECX
JG 0x00262391
MOV EBP,dword ptr [ESP]
TEST word ptr [ESP + 0x80],0x2000
JZ 0x00262613
MOV ESI,dword ptr [ESP + 0x8]
SUB ESI,dword ptr [ESP + 0x84]
JS 0x002625c9
CMP ESI,dword ptr [EBP + 0x24]
JL 0x002625db
MOV ECX,dword ptr [ESP + 0x4]
XOR ESI,ESI
CMP dword ptr [ECX],0x1a9
JNZ 0x00262e2e
CMP dword ptr [ESP + 0x20],0x10
JZ 0x002625f6
LEA ESI,[ESI + ESI*0x4]
MOV ECX,0x14
MOV EDI,dword ptr [ESP + 0x6c]
SHL ESI,0x4
ADD ESI,dword ptr [EBP + 0x28]
MOVSD.REP ES:EDI,ESI
SUB ESP,0x8
PUSH dword ptr [ESP + 0xc]
PUSH 0x0
PUSH 0x0
PUSH 0x0
PUSH dword ptr [ESP + 0x84]
PUSH EBP
CALL 0x00031b10
ADD ESP,0x20
SUB ESP,0xc
PUSH dword ptr [ESP + 0x20]
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x58]
TEST EAX,EAX
JZ 0x00262f90
SUB ESP,0xc
PUSH EBP
CALL 0x00030ee0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00263111
MOV ECX,dword ptr [ESP + 0x54]
MOV EAX,dword ptr [ECX + 0x2c]
TEST EAX,EAX
JZ 0x0026265b
ADD EAX,dword ptr [ECX + 0x28]
SUB EAX,0x1
CMP dword ptr [EBP + 0x244],EAX
JNC 0x0026266b
MOVZX EAX,word ptr [ESP + 0x82]
TEST EAX,EAX
JNZ 0x00262f36
SUB ESP,0xc
PUSH EBP
CALL 0x000311d0
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x70]
TEST EAX,EAX
JZ 0x00262f23
SUB ESP,0xc
PUSH EBP
CALL 0x00031a70
ADD ESP,0x10
MOV EBP,EAX
JMP 0x002621b8
SUB ESP,0x8
LEA EAX,[ESP + 0xa4]
MOV dword ptr [ESP + 0x74],EAX
PUSH EAX
PUSH EBP
CALL 0x000320a0
MOV dword ptr [ESP],EBP
CALL 0x00030c90
MOV dword ptr [ESP],EBP
CALL 0x00030c90
MOV dword ptr [ESP],EBP
CALL 0x00030c90
MOV dword ptr [ESP],EBP
CALL 0x00030c90
MOV dword ptr [ESP],EBP
CALL 0x00030c90
MOV dword ptr [ESP],EBP
CALL 0x00030c90
MOV dword ptr [ESP],EBP
MOV dword ptr [ESP + 0x10],EAX
FILD dword ptr [ESP + 0x10]
FLD dword ptr [EBX + 0xffec18a8]
FST dword ptr [ESP + 0x10]
FMULP
FLD dword ptr [EBX + 0xffee8a38]
FDIV ST1,ST0
FSTP dword ptr [ESP + 0x24]
FSTP qword ptr [ESP + 0xcc]
CALL 0x00030c90
MOV dword ptr [ESP + 0x18],EAX
FILD dword ptr [ESP + 0x18]
FMUL dword ptr [ESP + 0x10]
MOV dword ptr [ESP],EBP
FDIV dword ptr [EBX + 0xffeef3a4]
FSTP qword ptr [ESP + 0xd4]
CALL 0x00030c90
MOV dword ptr [ESP + 0x18],EAX
FILD dword ptr [ESP + 0x18]
FMUL dword ptr [ESP + 0x10]
FLD dword ptr [ESP + 0x24]
FDIVP
FSTP qword ptr [ESP + 0xdc]
ADD ESP,0x10
CMP word ptr [ESP + 0x80],0x0
JS 0x00262c40
MOV dword ptr [EBP],0x1
JMP 0x002622bf
FLD ST0
JMP 0x0026252f
MOV EAX,dword ptr [ESP]
SUB ESP,0x4
MOV dword ptr [EAX + 0x8],0x10
PUSH dword ptr [ESP + 0x18]
MOV ESI,dword ptr [ESP + 0x18]
PUSH ESI
PUSH EAX
CALL 0x00033430
ADD ESP,0x10
CMP EAX,ESI
JZ 0x002623b7
JMP 0x002625a8
CMP dword ptr [ESP + 0x68],ECX
JC 0x00263064
TEST ECX,ECX
JZ 0x00262579
MOV ECX,dword ptr [ESP]
MOV EDX,dword ptr [ECX + 0x2a8]
MOV ECX,dword ptr [ECX + 0x298]
MOV EDI,dword ptr [EDX + 0x14]
MOV ESI,dword ptr [EDX + 0x8]
SHL ECX,0x3
MOV dword ptr [ESP + 0x18],ECX
LEA EBP,[EDI*0x8 + 0x0]
MOV EDI,dword ptr [EDX + 0x20]
SHL ESI,0x3
MOV dword ptr [ESP + 0x28],ESI
SHL EDI,0x3
MOV dword ptr [ESP + 0x24],EDI
MOV EDI,dword ptr [EDX + 0x34]
TEST EDI,EDI
JNZ 0x00262ac8
ADD EAX,ESI
MOV ECX,dword ptr [ESP + 0x14]
MOV ESI,dword ptr [ESP + 0x1c]
FLD dword ptr [EBX + 0xffec18a8]
LEA ESI,[ECX + ESI*0x2]
MOV dword ptr [ESP + 0x2c],ESI
NOP
LEA ESI,[ESI]
ADD ECX,0x2
MOVZX EDX,word ptr [ECX + -0x2]
ROL DX,0x8
MOV ESI,EDX
MOV EDI,EDX
AND EDX,0x1f
SHR SI,0xb
SHR DI,0x5
MOVZX ESI,SI
AND EDI,0x3f
MOV dword ptr [ESP + 0x1c],ESI
FILD dword ptr [ESP + 0x1c]
MOV ESI,EAX
FMUL ST1
MOV dword ptr [ESP + 0x1c],EDI
SUB ESI,dword ptr [ESP + 0x28]
FLD dword ptr [EBX + 0xffee8a38]
MOV EDI,dword ptr [ESP + 0x24]
FDIV ST1,ST0
FXCH
FSTP qword ptr [EAX]
FILD dword ptr [ESP + 0x1c]
FMUL ST2
ADD EAX,dword ptr [ESP + 0x18]
MOV dword ptr [ESP + 0x1c],EDX
FDIV dword ptr [EBX + 0xffeef3a4]
FSTP qword ptr [ESI + EBP*0x1]
FILD dword ptr [ESP + 0x1c]
FMUL ST2
FDIVRP
FSTP qword ptr [ESI + EDI*0x1]
CMP dword ptr [ESP + 0x2c],ECX
JNZ 0x00262820
FSTP ST0
MOV ECX,dword ptr [ESP]
MOV EDX,dword ptr [ECX + 0x333c]
MOV EAX,dword ptr [ECX + 0x1c]
TEST EDX,EDX
JNZ 0x0026258d
SUB ESP,0x8
XOR EDX,EDX
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xffecd253]
PUSH dword ptr [ESP + 0x74]
PUSH dword ptr [ESP + 0x74]
PUSH EAX
MOV ESI,dword ptr [ESP + 0x1c]
PUSH ESI
CALL 0x00033840
MOV dword ptr [ESP + 0x90],EAX
ADD ESP,0x20
TEST EAX,EAX
JZ 0x002625a8
MOV EAX,dword ptr [ESI + 0x1c]
JMP 0x0026258d
FSTP ST0
MOV EBP,dword ptr [ESP]
SUB ESP,0xc
PUSH dword ptr [ESP + 0x20]
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x58]
TEST EAX,EAX
JNZ 0x0026290b
SUB ESP,0xc
PUSH dword ptr [ESP + 0x68]
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x54]
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EBX + 0xffec3be0]
PUSH EAX
LEA EAX,[EBX + 0xffece6e7]
PUSH EAX
PUSH 0x1a9
PUSH 0x206
JMP 0x0026218b
MOV EBP,EDI
CMP word ptr [ESP + 0x80],0x0
JS 0x00262c40
MOV dword ptr [EBP],0x2
MOV dword ptr [EBP + 0x20],0x8
JMP 0x002622bf
MOV EAX,dword ptr [ESP]
MOV ESI,dword ptr [ESP + 0x10]
MOV dword ptr [EAX + 0x8],0x7
TEST ESI,ESI
JZ 0x00262a39
MOV EAX,dword ptr [ESP + 0x74]
MOV dword ptr [ESP + 0x18],0x0
MOV EDI,dword ptr [ESP + 0x14]
ADD EAX,0x8
MOV dword ptr [ESP + 0x24],EAX
LEA ESI,[ESI]
SUB ESP,0xc
PUSH dword ptr [ESP + 0xc]
CALL 0x00030c90
MOV dword ptr [ESP + 0x2c],EAX
ADD ESP,0x10
TEST EAX,EAX
JS 0x00262a39
MOV ESI,dword ptr [ESP + 0x10]
SUB ESI,dword ptr [ESP + 0x18]
CMP ESI,0x7
JG 0x00262a78
TEST ESI,ESI
JZ 0x00262a23
MOV ECX,dword ptr [ESP + 0x44]
XOR EBP,EBP
TEST ECX,ECX
JZ 0x00262a58
MOV EAX,EBP
MOV EBP,ESI
MOV ESI,EAX
JMP 0x002629f6
MOV EAX,dword ptr [ESP + 0x5c]
ADD EAX,dword ptr [ESP + 0x18]
MOVZX EAX,byte ptr [EAX + ESI*0x1]
MOV byte ptr [EDI + ESI*0x1],AL
ADD ESI,0x1
CMP EBP,ESI
JBE 0x00262a23
MOV ECX,0x7
MOV EAX,0x1
SUB ECX,ESI
SHL EAX,CL
TEST dword ptr [ESP + 0x1c],EAX
JZ 0x002629e0
SUB ESP,0xc
PUSH dword ptr [ESP + 0xc]
CALL 0x00030c90
ADD ESP,0x10
MOV byte ptr [EDI + ESI*0x1],AL
ADD ESI,0x1
CMP EBP,ESI
JA 0x002629f6
ADD dword ptr [ESP + 0x18],0x8
ADD EDI,0x8
MOV EAX,dword ptr [ESP + 0x18]
CMP EAX,dword ptr [ESP + 0x24]
JNZ 0x00262990
SUB ESP,0x4
PUSH dword ptr [ESP + 0x14]
PUSH dword ptr [ESP + 0x1c]
PUSH dword ptr [ESP + 0x68]
CALL 0x00031e30
ADD ESP,0x10
JMP 0x002623b7
SUB ESP,0xc
PUSH dword ptr [ESP + 0xc]
CALL 0x00030c90
ADD ESP,0x10
MOV byte ptr [EDI + EBP*0x1],AL
ADD EBP,0x1
CMP EBP,ESI
JC 0x00262a58
JMP 0x00262a23
MOV ESI,0x8
JMP 0x002629c0
SUB ESP,0x8
MOV EAX,dword ptr [ESP + 0x5c]
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EBX + 0xffed95ae]
PUSH EAX
LEA EAX,[EBX + 0xfff268f8]
PUSH 0x127
PUSH EAX
LEA EAX,[EBX + 0xfff2688e]
PUSH EAX
PUSH 0x8000
CALL 0x000323b0
ADD ESP,0x20
JMP 0x00262071
MOV ESI,dword ptr [ESP + 0x14]
MOV ECX,dword ptr [ESP + 0x1c]
MOV EDI,dword ptr [EDX + 0x38]
FLD dword ptr [EBX + 0xffec18a8]
LEA ECX,[ESI + ECX*0x2]
MOV dword ptr [ESP + 0x2c],ECX
SHL EDI,0x3
NOP
LEA ESI,[ESI]
ADD ESI,0x2
MOVZX EDX,word ptr [ESI + -0x2]
ROL DX,0x8
MOV ECX,EDX
SHR CX,0xb
MOVZX ECX,CX
MOV dword ptr [ESP + 0x1c],ECX
FILD dword ptr [ESP + 0x1c]
FMUL ST1
MOV ECX,dword ptr [ESP + 0x28]
FLD dword ptr [EBX + 0xffee8a38]
FDIV ST1,ST0
FXCH
FSTP qword ptr [EAX + ECX*0x1]
MOV ECX,EDX
AND EDX,0x1f
SHR CX,0x5
AND ECX,0x3f
MOV dword ptr [ESP + 0x1c],ECX
FILD dword ptr [ESP + 0x1c]
FMUL ST2
MOV dword ptr [ESP + 0x1c],EDX
MOV ECX,dword ptr [ESP + 0x24]
FDIV dword ptr [EBX + 0xffeef3a4]
FSTP qword ptr [EAX + EBP*0x1]
FILD dword ptr [ESP + 0x1c]
FMUL ST2
FDIVRP
FSTP qword ptr [EAX + ECX*0x1]
FST qword ptr [EAX + EDI*0x1]
ADD EAX,dword ptr [ESP + 0x18]
CMP ESI,dword ptr [ESP + 0x2c]
JNZ 0x00262ae8
FSTP ST0
JMP 0x00262579
TEST word ptr [ESP + 0x80],0x4000
JNZ 0x00262d11
MOV EDI,0xff
LEA ESI,[EBX + 0xfff26940]
LEA EAX,[EBP + 0x318]
LEA ECX,[ESI + 0x300]
MOV dword ptr [ESP + 0x14],EAX
JMP 0x00262be0
LEA EAX,[EDI + EDI*0x4]
SHL EAX,0x4
MOV EDX,EAX
MOV EAX,dword ptr [EBP + 0x28]
ADD ESI,0x3
SUB EDI,0x1
ADD EAX,EDX
MOVZX EDX,byte ptr [ESI + -0x3]
MOV dword ptr [ESP],EDX
FILD dword ptr [ESP]
FLD dword ptr [EBX + 0xffeca14c]
FMUL ST1
FXCH
FSTP qword ptr [EAX + 0x20]
MOVZX EDX,byte ptr [ESI + -0x2]
MOV dword ptr [ESP],EDX
FILD dword ptr [ESP]
FMUL ST1
FSTP qword ptr [EAX + 0x28]
MOVZX EDX,byte ptr [ESI + -0x1]
MOV dword ptr [ESP],EDX
FILD dword ptr [ESP]
FMULP
FSTP qword ptr [EAX + 0x30]
CMP ECX,ESI
JZ 0x00262934
CMP EDI,dword ptr [EBP + 0x24]
JL 0x00262b90
MOV EAX,dword ptr [ESP + 0x4]
XOR EDX,EDX
CMP dword ptr [EAX],0x1a9
JZ 0x00262b98
LEA EAX,[EBX + 0xffec3be0]
MOV dword ptr [ESP + 0x8],ECX
MOV dword ptr [ESP],EDX
PUSH dword ptr [ESP + 0x14]
PUSH EAX
LEA EAX,[EBX + 0xffed9d2a]
PUSH EAX
LEA EAX,[EBX + 0xfff268e0]
PUSH 0x1a9
PUSH 0x23
PUSH EAX
LEA EAX,[EBX + 0xffeef160]
PUSH EAX
PUSH dword ptr [ESP + 0x20]
CALL 0x00032e80
ADD ESP,0x20
MOV ECX,dword ptr [ESP + 0x8]
MOV EDX,dword ptr [ESP]
JMP 0x00262b98
SUB ESP,0xc
PUSH EBP
CALL 0x00033ab0
ADD ESP,0x10
JMP 0x002622ad
SUB ESP,0x8
PUSH 0x1
MOV EAX,dword ptr [EBP + 0x18]
MOV ECX,dword ptr [ESP + 0x1c]
ADD EAX,EAX
CMP EAX,ECX
CMOVC EAX,ECX
PUSH EAX
CALL 0x000317b0
MOV dword ptr [ESP + 0x6c],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x002630db
MOV EAX,dword ptr [EBP + 0x18]
MOV ECX,dword ptr [ESP + 0x10]
ADD EAX,EAX
CMP EAX,ECX
CMOVC EAX,ECX
SUB ESP,0x4
PUSH EAX
PUSH 0x0
PUSH dword ptr [ESP + 0x68]
CALL 0x000310a0
ADD ESP,0x10
JMP 0x00262343
MOV EBP,dword ptr [ESP]
MOV EAX,dword ptr [ESP + 0x10]
MOV dword ptr [EBP + 0x8],0x13
TEST EAX,EAX
JZ 0x002623b7
XOR EDI,EDI
JMP 0x00262cfc
MOV ESI,dword ptr [ESP + 0x10]
SUB ESI,EDI
CMP ESI,EAX
CMOVG ESI,EAX
SUB ESP,0xc
PUSH EBP
CALL 0x00030c90
ADD ESP,0xc
PUSH ESI
PUSH EAX
MOV EAX,dword ptr [ESP + 0x20]
ADD EAX,EDI
ADD EDI,ESI
PUSH EAX
CALL 0x000310a0
ADD ESP,0x10
CMP EDI,dword ptr [ESP + 0x10]
JGE 0x002623b7
SUB ESP,0xc
PUSH EBP
CALL 0x00030c90
ADD ESP,0x10
TEST EAX,EAX
JNS 0x00262cc8
JMP 0x002623b7
SUB ESP,0xc
PUSH EBP
CALL 0x00033ab0
ADD ESP,0x10
TEST AX,AX
JZ 0x00262934
MOVZX EAX,AX
MOV EDI,0xff
SUB EDI,EAX
LEA EAX,[EBP + 0x318]
MOV dword ptr [ESP + 0x14],EDI
MOV EDI,0xff
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,EBP
MOV EBP,EDI
MOV EDI,EAX
JMP 0x00262dce
LEA ESI,[EBP + EBP*0x4]
SHL ESI,0x4
SUB ESP,0xc
SUB EBP,0x1
PUSH EDI
CALL 0x00030c90
MOVZX EAX,AL
MOV dword ptr [ESP + 0x10],EAX
FILD dword ptr [ESP + 0x10]
FLD dword ptr [EBX + 0xffeca14c]
FMUL ST1
MOV EAX,dword ptr [EDI + 0x28]
FSTP qword ptr [ESP + 0x18]
FSTP qword ptr [EAX + ESI*0x1 + 0x20]
MOV dword ptr [ESP],EDI
CALL 0x00030c90
MOVZX EAX,AL
MOV dword ptr [ESP + 0x10],EAX
FILD dword ptr [ESP + 0x10]
FLD qword ptr [ESP + 0x18]
FMULP
MOV EAX,dword ptr [EDI + 0x28]
FSTP qword ptr [EAX + ESI*0x1 + 0x28]
MOV dword ptr [ESP],EDI
CALL 0x00030c90
MOVZX EAX,AL
MOV dword ptr [ESP + 0x10],EAX
FILD dword ptr [ESP + 0x10]
FLD qword ptr [ESP + 0x18]
ADD ESP,0x10
FMULP
MOV EAX,dword ptr [EDI + 0x28]
FSTP qword ptr [EAX + ESI*0x1 + 0x30]
CMP dword ptr [ESP + 0x14],EBP
JZ 0x00262932
SUB ESP,0xc
PUSH EDI
CALL 0x00030c90
ADD ESP,0x10
TEST EBP,EBP
JS 0x00262de7
CMP EBP,dword ptr [EDI + 0x24]
JL 0x00262d50
MOV ECX,dword ptr [ESP + 0x4]
XOR ESI,ESI
CMP dword ptr [ECX],0x1a9
JZ 0x00262d57
PUSH dword ptr [ESP + 0x18]
LEA EAX,[EBX + 0xffec3be0]
PUSH EAX
LEA EAX,[EBX + 0xffed9d2a]
PUSH EAX
LEA EAX,[EBX + 0xfff268e0]
PUSH 0x1a9
PUSH 0x23
PUSH EAX
LEA EAX,[EBX + 0xffeef160]
PUSH EAX
PUSH ECX
CALL 0x00032e80
ADD ESP,0x20
JMP 0x00262d57
LEA EAX,[EBP + 0x318]
PUSH EAX
LEA EAX,[EBX + 0xffec3be0]
PUSH EAX
LEA EAX,[EBX + 0xffed9d2a]
PUSH EAX
LEA EAX,[EBX + 0xfff268e0]
PUSH 0x1a9
PUSH 0x23
PUSH EAX
LEA EAX,[EBX + 0xffeef160]
PUSH EAX
PUSH ECX
CALL 0x00032e80
ADD ESP,0x20
JMP 0x002625db
MOV EAX,dword ptr [ESP + 0x54]
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EBX + 0xffec3be0]
PUSH EAX
LEA EAX,[EBX + 0xffeef054]
PUSH EAX
PUSH 0x1a9
PUSH 0x14f
JMP 0x0026218b
CMP EAX,ESI
JBE 0x00262f65
PUSH 0x0
MOV ESI,dword ptr [ESP + 0x7c]
MOV EDI,dword ptr [ESP + 0x80]
PUSH EDI
PUSH ESI
PUSH EBP
CALL 0x00031f00
ADD ESP,0x10
XOR EAX,ESI
XOR EDX,EDI
OR EDX,EAX
JNZ 0x0026316c
SUB ESP,0x4
PUSH dword ptr [ESP + 0x8]
PUSH EBP
PUSH dword ptr [ESP + 0x60]
CALL 0x00032cc0
MOV dword ptr [ESP],EBP
CALL 0x000319e0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00262f17
SUB ESP,0xc
PUSH EBP
CALL 0x00031b80
MOV EBP,EAX
MOV dword ptr [ESP],EAX
CALL 0x000318e0
MOV dword ptr [ESP],EBP
MOV ESI,EAX
MOV EDI,EDX
CALL 0x00031f30
ADD ESP,0x8
PUSH EDI
PUSH ESI
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xffeee97a]
PUSH EAX
PUSH EBP
CALL 0x00033840
ADD ESP,0x20
TEST EAX,EAX
JNZ 0x002620ca
SUB ESP,0xc
PUSH EBP
CALL 0x000311d0
ADD ESP,0x10
SUB ESP,0xc
PUSH EBP
CALL 0x000317a0
ADD ESP,0x10
MOV EBP,EAX
JMP 0x002621b8
XOR EDX,EDX
SHL EAX,0x2
ADD dword ptr [ESP + 0x78],EAX
ADC dword ptr [ESP + 0x7c],EDX
SUB ESP,0xc
PUSH EBP
CALL 0x000318e0
ADD ESP,0x10
MOV EDI,dword ptr [ESP + 0x7c]
MOV ESI,dword ptr [ESP + 0x78]
CMP EDX,EDI
JG 0x00262e95
JGE 0x00262e8d
MOV EAX,dword ptr [ESP + 0x54]
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EBX + 0xffec3be0]
PUSH EAX
LEA EAX,[EBX + 0xffeee952]
PUSH EAX
PUSH 0x1a9
PUSH 0x23e
JMP 0x0026218b
SUB ESP,0xc
PUSH dword ptr [ESP + 0x68]
CALL 0x00033ac8
ADD ESP,0x10
JMP 0x0026262e
SUB ESP,0xc
PUSH EBP
XOR EBP,EBP
CALL 0x000317a0
ADD ESP,0x10
JMP 0x002621b8
MOV EAX,dword ptr [ESP + 0x54]
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EBX + 0xffec3be0]
PUSH EAX
LEA EAX,[EBX + 0xffed9c9e]
PUSH EAX
PUSH 0x1a9
PUSH 0x13a
JMP 0x0026218b
MOV EAX,dword ptr [ESP + 0x54]
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EBX + 0xffec3be0]
PUSH EAX
LEA EAX,[EBX + 0xffeee952]
PUSH EAX
PUSH 0x1a9
PUSH 0x138
JMP 0x0026218b
SUB ESP,0xc
PUSH EBP
CALL 0x000311d0
ADD ESP,0x10
JMP 0x002621b8
MOV EAX,dword ptr [ESP + 0x54]
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EBX + 0xffec3be0]
PUSH EAX
LEA EAX,[EBX + 0xfff2689c]
PUSH EAX
PUSH 0x1a9
PUSH 0x148
JMP 0x0026218b
MOV EAX,dword ptr [ESP + 0x54]
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EBX + 0xffec3be0]
PUSH EAX
LEA EAX,[EBX + 0xffec156e]
PUSH EAX
PUSH 0x190
PUSH 0x19c
JMP 0x0026218b
MOV EBP,dword ptr [ESP]
SUB ESP,0xc
PUSH dword ptr [ESP + 0x20]
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x58]
TEST EAX,EAX
JNZ 0x0026308d
SUB ESP,0xc
PUSH dword ptr [ESP + 0x68]
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x54]
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EBX + 0xffec3be0]
PUSH EAX
LEA EAX,[EBX + 0xffece6e7]
PUSH EAX
PUSH 0x1a9
PUSH 0x1ec
JMP 0x0026218b
MOV EAX,dword ptr [ESP + 0x54]
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EBX + 0xffec3be0]
PUSH EAX
LEA EAX,[EBX + 0xffec156e]
PUSH EAX
PUSH 0x190
PUSH 0x158
JMP 0x0026218b
SUB ESP,0xc
PUSH dword ptr [ESP + 0x20]
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x54]
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EBX + 0xffec3be0]
PUSH EAX
LEA EAX,[EBX + 0xffec156e]
PUSH EAX
PUSH 0x190
PUSH 0x1a6
JMP 0x0026218b
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 + 0xfff268f8]
PUSH 0x1a9
PUSH 0x22e
PUSH EAX
LEA EAX,[EBX + 0xfff2688e]
PUSH EAX
PUSH dword ptr [ESP + 0x30]
CALL 0x00032e80
ADD ESP,0x24
PUSH ESI
CALL 0x00032950
ADD ESP,0x10
JMP 0x0026266b
MOV EAX,dword ptr [ESP + 0x54]
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EBX + 0xffec3be0]
PUSH EAX
LEA EAX,[EBX + 0xffeee952]
PUSH EAX
PUSH 0x1a9
PUSH 0x242
JMP 0x0026218b
LEA EAX,[EBX + 0xfff26908]
PUSH EAX
LEA EAX,[EBX + 0xfff2688e]
PUSH 0x129
PUSH EAX
LEA EAX,[EBX + 0xffec1be4]
PUSH EAX
CALL 0x000313d0
CALL 0x002decd0
LEA EAX,[EBX + 0xfff26908]
PUSH EAX
LEA EAX,[EBX + 0xfff2688e]
PUSH 0x12a
PUSH EAX
LEA EAX,[EBX + 0xffec29d4]
PUSH EAX
CALL 0x000313d0
LEA EAX,[EBX + 0xfff26908]
PUSH EAX
LEA EAX,[EBX + 0xfff2688e]
PUSH 0x125
PUSH EAX
LEA EAX,[EBX + 0xffec0d48]
PUSH EAX
CALL 0x000313d0
LEA EAX,[EBX + 0xfff26908]
PUSH EAX
LEA EAX,[EBX + 0xfff2688e]
PUSH 0x124
PUSH EAX
LEA EAX,[EBX + 0xffec0d20]
PUSH EAX
CALL 0x000313d0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Removing unreachable block (ram,0x00262e8d) */\n\nundefined4 * FUN_00262010(int param_1,int *param_2)\n\n{\n  double dVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  ushort uVar10;\n  float fVar11;\n  float fVar12;\n  byte bVar13;\n  ushort uVar14;\n  ushort uVar15;\n  ushort uVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  uint uVar19;\n  uint uVar20;\n  uint uVar21;\n  int iVar22;\n  ushort *__s;\n  int iVar23;\n  undefined4 *puVar24;\n  double *pdVar25;\n  uint uVar26;\n  int iVar27;\n  byte *pbVar28;\n  size_t sVar29;\n  int *piVar30;\n  int iVar31;\n  ushort *puVar32;\n  int iVar33;\n  int iVar34;\n  uint uVar35;\n  ushort *puVar36;\n  byte *pbVar37;\n  size_t __n;\n  uint uVar38;\n  undefined4 *puVar39;\n  int in_GS_OFFSET;\n  bool bVar40;\n  byte bVar41;\n  undefined8 uVar42;\n  undefined8 uVar43;\n  longlong lVar44;\n  undefined4 uVar45;\n  undefined4 uVar46;\n  char *pcVar47;\n  int local_10c;\n  int local_f4;\n  int local_c8;\n  void *local_b0;\n  uint local_ac;\n  int local_a8;\n  undefined4 *local_a0;\n  int local_9c;\n  uint local_94;\n  int local_90;\n  undefined4 local_70 [8];\n  double local_50;\n  double local_48;\n  double local_40;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar41 = 0;\n  uStack_14 = 0x262019;\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/palm.c",0x124,"ReadPALMImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,\n                  "ReadPALMImage");\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/palm.c","ReadPALMImage",0x127,&DAT_002f75ae,param_1 + 0x21f0);\n  }\n  if (param_2 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage");\n  }\n  if (param_2[7] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage");\n  }\n  puVar17 = (undefined4 *)AcquireImage(param_1,param_2);\n  iVar18 = OpenBlob(param_1,puVar17,2,param_2);\n  local_94 = 0;\n  local_90 = 0;\n  if (iVar18 == 0) {\n    puVar24 = (undefined4 *)0x0;\n    DestroyImageList(puVar17);\n  }\n  else {\n    do {\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[6] = uVar19 & 0xffff;\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[7] = uVar19 & 0xffff;\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((puVar17[6] == 0) || (puVar17[7] == 0)) {\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }\n      iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (iVar18 == 0) goto LAB_00262f23;\n      SetImageBackgroundColor(puVar17,param_2);\n      uVar19 = ReadBlobMSBShort(puVar17);\n      uVar19 = uVar19 & 0xffff;\n      uVar14 = ReadBlobMSBShort(puVar17);\n      uVar20 = ReadBlobByte(puVar17);\n      if ((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)) {\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar21 = ReadBlobByte(puVar17);\n      if (2 < uVar21) {\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar15 = ReadBlobMSBShort(puVar17);\n      iVar18 = ReadBlobByte(puVar17);\n      uVar21 = ReadBlobByte(puVar17);\n      if ((uVar21 != 0xff) && (1 < uVar21)) {\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(puVar17);\n      if (uVar20 == 0x10) {\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }\n      else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }\nLAB_002622bf:\n      local_a0 = local_70;\n      if (*(int *)(param_1 + 0x1bc) != 0) {\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (local_9c == 0) goto LAB_00262f23;\n      uVar26 = puVar17[6] * 2;\n      if ((uint)(puVar17[6] * 2) < uVar19) {\n        uVar26 = uVar19;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar26,1);\n      if (__s == (ushort *)0x0) {\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar26);\n      local_b0 = (void *)0x0;\n      if (uVar21 == 0) {\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }\n      iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1;\n      if (0 < (int)puVar17[7]) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }\n      if ((uVar14 & 0x2000) != 0) {\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar21 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }\n      if (((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)) goto LAB_0026266b;\n      uVar19 = (uint)uVar15 * 4;\n      bVar40 = CARRY4(local_94,uVar19);\n      local_94 = local_94 + uVar19;\n      local_90 = local_90 + (uint)bVar40;\n      lVar44 = GetBlobSize(puVar17);\n      if (lVar44 <= CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }\n      lVar44 = SeekBlob(puVar17,local_94,local_90,0);\n      if (lVar44 != CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(param_1,puVar17,param_2);\n      iVar18 = GetNextImageInList(puVar17);\n      if (iVar18 == 0) break;\n      puVar17 = (undefined4 *)SyncNextImageInList(puVar17);\n      uVar42 = GetBlobSize(puVar17);\n      uVar43 = TellBlob(puVar17);\n      iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42);\n    } while (iVar18 != 0);\n    CloseBlob(puVar17);\nLAB_00262f23:\n    puVar24 = (undefined4 *)DestroyImageList(puVar17);\n  }\nLAB_002621b8:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002decd0();\n  }\n  return puVar24;\n}\n\n" comment comment (function_definition "undefined4 * FUN_00262010(int param_1,int *param_2)\n\n{\n  double dVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  ushort uVar10;\n  float fVar11;\n  float fVar12;\n  byte bVar13;\n  ushort uVar14;\n  ushort uVar15;\n  ushort uVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  uint uVar19;\n  uint uVar20;\n  uint uVar21;\n  int iVar22;\n  ushort *__s;\n  int iVar23;\n  undefined4 *puVar24;\n  double *pdVar25;\n  uint uVar26;\n  int iVar27;\n  byte *pbVar28;\n  size_t sVar29;\n  int *piVar30;\n  int iVar31;\n  ushort *puVar32;\n  int iVar33;\n  int iVar34;\n  uint uVar35;\n  ushort *puVar36;\n  byte *pbVar37;\n  size_t __n;\n  uint uVar38;\n  undefined4 *puVar39;\n  int in_GS_OFFSET;\n  bool bVar40;\n  byte bVar41;\n  undefined8 uVar42;\n  undefined8 uVar43;\n  longlong lVar44;\n  undefined4 uVar45;\n  undefined4 uVar46;\n  char *pcVar47;\n  int local_10c;\n  int local_f4;\n  int local_c8;\n  void *local_b0;\n  uint local_ac;\n  int local_a8;\n  undefined4 *local_a0;\n  int local_9c;\n  uint local_94;\n  int local_90;\n  undefined4 local_70 [8];\n  double local_50;\n  double local_48;\n  double local_40;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar41 = 0;\n  uStack_14 = 0x262019;\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/palm.c",0x124,"ReadPALMImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,\n                  "ReadPALMImage");\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/palm.c","ReadPALMImage",0x127,&DAT_002f75ae,param_1 + 0x21f0);\n  }\n  if (param_2 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage");\n  }\n  if (param_2[7] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage");\n  }\n  puVar17 = (undefined4 *)AcquireImage(param_1,param_2);\n  iVar18 = OpenBlob(param_1,puVar17,2,param_2);\n  local_94 = 0;\n  local_90 = 0;\n  if (iVar18 == 0) {\n    puVar24 = (undefined4 *)0x0;\n    DestroyImageList(puVar17);\n  }\n  else {\n    do {\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[6] = uVar19 & 0xffff;\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[7] = uVar19 & 0xffff;\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((puVar17[6] == 0) || (puVar17[7] == 0)) {\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }\n      iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (iVar18 == 0) goto LAB_00262f23;\n      SetImageBackgroundColor(puVar17,param_2);\n      uVar19 = ReadBlobMSBShort(puVar17);\n      uVar19 = uVar19 & 0xffff;\n      uVar14 = ReadBlobMSBShort(puVar17);\n      uVar20 = ReadBlobByte(puVar17);\n      if ((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)) {\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar21 = ReadBlobByte(puVar17);\n      if (2 < uVar21) {\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar15 = ReadBlobMSBShort(puVar17);\n      iVar18 = ReadBlobByte(puVar17);\n      uVar21 = ReadBlobByte(puVar17);\n      if ((uVar21 != 0xff) && (1 < uVar21)) {\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(puVar17);\n      if (uVar20 == 0x10) {\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }\n      else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }\nLAB_002622bf:\n      local_a0 = local_70;\n      if (*(int *)(param_1 + 0x1bc) != 0) {\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (local_9c == 0) goto LAB_00262f23;\n      uVar26 = puVar17[6] * 2;\n      if ((uint)(puVar17[6] * 2) < uVar19) {\n        uVar26 = uVar19;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar26,1);\n      if (__s == (ushort *)0x0) {\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar26);\n      local_b0 = (void *)0x0;\n      if (uVar21 == 0) {\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }\n      iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1;\n      if (0 < (int)puVar17[7]) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }\n      if ((uVar14 & 0x2000) != 0) {\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar21 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }\n      if (((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)) goto LAB_0026266b;\n      uVar19 = (uint)uVar15 * 4;\n      bVar40 = CARRY4(local_94,uVar19);\n      local_94 = local_94 + uVar19;\n      local_90 = local_90 + (uint)bVar40;\n      lVar44 = GetBlobSize(puVar17);\n      if (lVar44 <= CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }\n      lVar44 = SeekBlob(puVar17,local_94,local_90,0);\n      if (lVar44 != CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(param_1,puVar17,param_2);\n      iVar18 = GetNextImageInList(puVar17);\n      if (iVar18 == 0) break;\n      puVar17 = (undefined4 *)SyncNextImageInList(puVar17);\n      uVar42 = GetBlobSize(puVar17);\n      uVar43 = TellBlob(puVar17);\n      iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42);\n    } while (iVar18 != 0);\n    CloseBlob(puVar17);\nLAB_00262f23:\n    puVar24 = (undefined4 *)DestroyImageList(puVar17);\n  }\nLAB_002621b8:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002decd0();\n  }\n  return puVar24;\n}" type_identifier (pointer_declarator "* FUN_00262010(int param_1,int *param_2)" * (function_declarator "FUN_00262010(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 (pointer_declarator "*param_2" * identifier)) )))) (compound_statement "{\n  double dVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  ushort uVar10;\n  float fVar11;\n  float fVar12;\n  byte bVar13;\n  ushort uVar14;\n  ushort uVar15;\n  ushort uVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  uint uVar19;\n  uint uVar20;\n  uint uVar21;\n  int iVar22;\n  ushort *__s;\n  int iVar23;\n  undefined4 *puVar24;\n  double *pdVar25;\n  uint uVar26;\n  int iVar27;\n  byte *pbVar28;\n  size_t sVar29;\n  int *piVar30;\n  int iVar31;\n  ushort *puVar32;\n  int iVar33;\n  int iVar34;\n  uint uVar35;\n  ushort *puVar36;\n  byte *pbVar37;\n  size_t __n;\n  uint uVar38;\n  undefined4 *puVar39;\n  int in_GS_OFFSET;\n  bool bVar40;\n  byte bVar41;\n  undefined8 uVar42;\n  undefined8 uVar43;\n  longlong lVar44;\n  undefined4 uVar45;\n  undefined4 uVar46;\n  char *pcVar47;\n  int local_10c;\n  int local_f4;\n  int local_c8;\n  void *local_b0;\n  uint local_ac;\n  int local_a8;\n  undefined4 *local_a0;\n  int local_9c;\n  uint local_94;\n  int local_90;\n  undefined4 local_70 [8];\n  double local_50;\n  double local_48;\n  double local_40;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar41 = 0;\n  uStack_14 = 0x262019;\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/palm.c",0x124,"ReadPALMImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,\n                  "ReadPALMImage");\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/palm.c","ReadPALMImage",0x127,&DAT_002f75ae,param_1 + 0x21f0);\n  }\n  if (param_2 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage");\n  }\n  if (param_2[7] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage");\n  }\n  puVar17 = (undefined4 *)AcquireImage(param_1,param_2);\n  iVar18 = OpenBlob(param_1,puVar17,2,param_2);\n  local_94 = 0;\n  local_90 = 0;\n  if (iVar18 == 0) {\n    puVar24 = (undefined4 *)0x0;\n    DestroyImageList(puVar17);\n  }\n  else {\n    do {\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[6] = uVar19 & 0xffff;\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[7] = uVar19 & 0xffff;\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((puVar17[6] == 0) || (puVar17[7] == 0)) {\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }\n      iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (iVar18 == 0) goto LAB_00262f23;\n      SetImageBackgroundColor(puVar17,param_2);\n      uVar19 = ReadBlobMSBShort(puVar17);\n      uVar19 = uVar19 & 0xffff;\n      uVar14 = ReadBlobMSBShort(puVar17);\n      uVar20 = ReadBlobByte(puVar17);\n      if ((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)) {\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar21 = ReadBlobByte(puVar17);\n      if (2 < uVar21) {\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar15 = ReadBlobMSBShort(puVar17);\n      iVar18 = ReadBlobByte(puVar17);\n      uVar21 = ReadBlobByte(puVar17);\n      if ((uVar21 != 0xff) && (1 < uVar21)) {\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(puVar17);\n      if (uVar20 == 0x10) {\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }\n      else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }\nLAB_002622bf:\n      local_a0 = local_70;\n      if (*(int *)(param_1 + 0x1bc) != 0) {\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (local_9c == 0) goto LAB_00262f23;\n      uVar26 = puVar17[6] * 2;\n      if ((uint)(puVar17[6] * 2) < uVar19) {\n        uVar26 = uVar19;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar26,1);\n      if (__s == (ushort *)0x0) {\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar26);\n      local_b0 = (void *)0x0;\n      if (uVar21 == 0) {\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }\n      iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1;\n      if (0 < (int)puVar17[7]) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }\n      if ((uVar14 & 0x2000) != 0) {\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar21 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }\n      if (((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)) goto LAB_0026266b;\n      uVar19 = (uint)uVar15 * 4;\n      bVar40 = CARRY4(local_94,uVar19);\n      local_94 = local_94 + uVar19;\n      local_90 = local_90 + (uint)bVar40;\n      lVar44 = GetBlobSize(puVar17);\n      if (lVar44 <= CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }\n      lVar44 = SeekBlob(puVar17,local_94,local_90,0);\n      if (lVar44 != CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(param_1,puVar17,param_2);\n      iVar18 = GetNextImageInList(puVar17);\n      if (iVar18 == 0) break;\n      puVar17 = (undefined4 *)SyncNextImageInList(puVar17);\n      uVar42 = GetBlobSize(puVar17);\n      uVar43 = TellBlob(puVar17);\n      iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42);\n    } while (iVar18 != 0);\n    CloseBlob(puVar17);\nLAB_00262f23:\n    puVar24 = (undefined4 *)DestroyImageList(puVar17);\n  }\nLAB_002621b8:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002decd0();\n  }\n  return puVar24;\n}" { (declaration "double dVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "ushort uVar10;" type_identifier identifier ;) (declaration "float fVar11;" primitive_type identifier ;) (declaration "float fVar12;" primitive_type identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "ushort uVar14;" type_identifier identifier ;) (declaration "ushort uVar15;" type_identifier identifier ;) (declaration "ushort uVar16;" type_identifier identifier ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "ushort *__s;" type_identifier (pointer_declarator "*__s" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "undefined4 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "double *pdVar25;" primitive_type (pointer_declarator "*pdVar25" * identifier) ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "byte *pbVar28;" type_identifier (pointer_declarator "*pbVar28" * identifier) ;) (declaration "size_t sVar29;" primitive_type identifier ;) (declaration "int *piVar30;" primitive_type (pointer_declarator "*piVar30" * identifier) ;) (declaration "int iVar31;" primitive_type identifier ;) (declaration "ushort *puVar32;" type_identifier (pointer_declarator "*puVar32" * identifier) ;) (declaration "int iVar33;" primitive_type identifier ;) (declaration "int iVar34;" primitive_type identifier ;) (declaration "uint uVar35;" type_identifier identifier ;) (declaration "ushort *puVar36;" type_identifier (pointer_declarator "*puVar36" * identifier) ;) (declaration "byte *pbVar37;" type_identifier (pointer_declarator "*pbVar37" * identifier) ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "uint uVar38;" type_identifier identifier ;) (declaration "undefined4 *puVar39;" type_identifier (pointer_declarator "*puVar39" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar40;" primitive_type identifier ;) (declaration "byte bVar41;" type_identifier identifier ;) (declaration "undefined8 uVar42;" type_identifier identifier ;) (declaration "undefined8 uVar43;" type_identifier identifier ;) (declaration "longlong lVar44;" type_identifier identifier ;) (declaration "undefined4 uVar45;" type_identifier identifier ;) (declaration "undefined4 uVar46;" type_identifier identifier ;) (declaration "char *pcVar47;" primitive_type (pointer_declarator "*pcVar47" * identifier) ;) (declaration "int local_10c;" primitive_type identifier ;) (declaration "int local_f4;" primitive_type identifier ;) (declaration "int local_c8;" primitive_type identifier ;) (declaration "void *local_b0;" primitive_type (pointer_declarator "*local_b0" * identifier) ;) (declaration "uint local_ac;" type_identifier identifier ;) (declaration "int local_a8;" primitive_type identifier ;) (declaration "undefined4 *local_a0;" type_identifier (pointer_declarator "*local_a0" * identifier) ;) (declaration "int local_9c;" primitive_type identifier ;) (declaration "uint local_94;" type_identifier identifier ;) (declaration "int local_90;" primitive_type identifier ;) (declaration "undefined4 local_70 [8];" type_identifier (array_declarator "local_70 [8]" identifier [ number_literal ]) ;) (declaration "double local_50;" primitive_type identifier ;) (declaration "double local_48;" primitive_type identifier ;) (declaration "double local_40;" primitive_type identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar41 = 0;" (assignment_expression "bVar41 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x262019;" (assignment_expression "uStack_14 = 0x262019" 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/palm.c",0x124,"ReadPALMImage");\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/palm.c",0x124,"ReadPALMImage");\n  }" { comment (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","coders/palm.c",0x124,"ReadPALMImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","coders/palm.c",0x124,"ReadPALMImage")" identifier (argument_list "("image_info != (const ImageInfo *) NULL","coders/palm.c",0x124,"ReadPALMImage")" ( (string_literal ""image_info != (const ImageInfo *) NULL"" " string_content ") , (string_literal ""coders/palm.c"" " string_content ") , number_literal , (string_literal ""ReadPALMImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,\n                  "ReadPALMImage");\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/palm.c",0x125,\n                  "ReadPALMImage");\n  }" { comment (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,\n                  "ReadPALMImage");" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,\n                  "ReadPALMImage")" identifier (argument_list "("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,\n                  "ReadPALMImage")" ( (string_literal ""image_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/palm.c"" " string_content ") , number_literal , (string_literal ""ReadPALMImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/palm.c","ReadPALMImage",0x127,&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/palm.c","ReadPALMImage",0x127,&DAT_002f75ae,param_1 + 0x21f0);\n  }" { (expression_statement "LogMagickEvent(0x8000,"coders/palm.c","ReadPALMImage",0x127,&DAT_002f75ae,param_1 + 0x21f0);" (call_expression "LogMagickEvent(0x8000,"coders/palm.c","ReadPALMImage",0x127,&DAT_002f75ae,param_1 + 0x21f0)" identifier (argument_list "(0x8000,"coders/palm.c","ReadPALMImage",0x127,&DAT_002f75ae,param_1 + 0x21f0)" ( number_literal , (string_literal ""coders/palm.c"" " string_content ") , (string_literal ""ReadPALMImage"" " string_content ") , number_literal , (pointer_expression "&DAT_002f75ae" & identifier) , (binary_expression "param_1 + 0x21f0" identifier + number_literal) ))) ;) })) (if_statement "if (param_2 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage");\n  }" if (parenthesized_expression "(param_2 == (int *)0x0)" ( (binary_expression "param_2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage");\n  }" { comment (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage")" identifier (argument_list "("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage")" ( (string_literal ""exception != (ExceptionInfo *) NULL"" " string_content ") , (string_literal ""coders/palm.c"" " string_content ") , number_literal , (string_literal ""ReadPALMImage"" " string_content ") ))) ;) })) (if_statement "if (param_2[7] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage");\n  }" if (parenthesized_expression "(param_2[7] != -0x54535255)" ( (binary_expression "param_2[7] != -0x54535255" (subscript_expression "param_2[7]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage");\n  }" { comment (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage");" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage")" identifier (argument_list "("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage")" ( (string_literal ""exception->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/palm.c"" " string_content ") , number_literal , (string_literal ""ReadPALMImage"" " string_content ") ))) ;) })) (expression_statement "puVar17 = (undefined4 *)AcquireImage(param_1,param_2);" (assignment_expression "puVar17 = (undefined4 *)AcquireImage(param_1,param_2)" identifier = (cast_expression "(undefined4 *)AcquireImage(param_1,param_2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireImage(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier ))))) ;) (expression_statement "iVar18 = OpenBlob(param_1,puVar17,2,param_2);" (assignment_expression "iVar18 = OpenBlob(param_1,puVar17,2,param_2)" identifier = (call_expression "OpenBlob(param_1,puVar17,2,param_2)" identifier (argument_list "(param_1,puVar17,2,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (if_statement "if (iVar18 == 0) {\n    puVar24 = (undefined4 *)0x0;\n    DestroyImageList(puVar17);\n  }\n  else {\n    do {\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[6] = uVar19 & 0xffff;\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[7] = uVar19 & 0xffff;\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((puVar17[6] == 0) || (puVar17[7] == 0)) {\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }\n      iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (iVar18 == 0) goto LAB_00262f23;\n      SetImageBackgroundColor(puVar17,param_2);\n      uVar19 = ReadBlobMSBShort(puVar17);\n      uVar19 = uVar19 & 0xffff;\n      uVar14 = ReadBlobMSBShort(puVar17);\n      uVar20 = ReadBlobByte(puVar17);\n      if ((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)) {\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar21 = ReadBlobByte(puVar17);\n      if (2 < uVar21) {\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar15 = ReadBlobMSBShort(puVar17);\n      iVar18 = ReadBlobByte(puVar17);\n      uVar21 = ReadBlobByte(puVar17);\n      if ((uVar21 != 0xff) && (1 < uVar21)) {\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(puVar17);\n      if (uVar20 == 0x10) {\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }\n      else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }\nLAB_002622bf:\n      local_a0 = local_70;\n      if (*(int *)(param_1 + 0x1bc) != 0) {\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (local_9c == 0) goto LAB_00262f23;\n      uVar26 = puVar17[6] * 2;\n      if ((uint)(puVar17[6] * 2) < uVar19) {\n        uVar26 = uVar19;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar26,1);\n      if (__s == (ushort *)0x0) {\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar26);\n      local_b0 = (void *)0x0;\n      if (uVar21 == 0) {\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }\n      iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1;\n      if (0 < (int)puVar17[7]) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }\n      if ((uVar14 & 0x2000) != 0) {\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar21 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }\n      if (((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)) goto LAB_0026266b;\n      uVar19 = (uint)uVar15 * 4;\n      bVar40 = CARRY4(local_94,uVar19);\n      local_94 = local_94 + uVar19;\n      local_90 = local_90 + (uint)bVar40;\n      lVar44 = GetBlobSize(puVar17);\n      if (lVar44 <= CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }\n      lVar44 = SeekBlob(puVar17,local_94,local_90,0);\n      if (lVar44 != CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(param_1,puVar17,param_2);\n      iVar18 = GetNextImageInList(puVar17);\n      if (iVar18 == 0) break;\n      puVar17 = (undefined4 *)SyncNextImageInList(puVar17);\n      uVar42 = GetBlobSize(puVar17);\n      uVar43 = TellBlob(puVar17);\n      iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42);\n    } while (iVar18 != 0);\n    CloseBlob(puVar17);\nLAB_00262f23:\n    puVar24 = (undefined4 *)DestroyImageList(puVar17);\n  }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n    puVar24 = (undefined4 *)0x0;\n    DestroyImageList(puVar17);\n  }" { (expression_statement "puVar24 = (undefined4 *)0x0;" (assignment_expression "puVar24 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "DestroyImageList(puVar17);" (call_expression "DestroyImageList(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;) }) (else_clause "else {\n    do {\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[6] = uVar19 & 0xffff;\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[7] = uVar19 & 0xffff;\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((puVar17[6] == 0) || (puVar17[7] == 0)) {\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }\n      iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (iVar18 == 0) goto LAB_00262f23;\n      SetImageBackgroundColor(puVar17,param_2);\n      uVar19 = ReadBlobMSBShort(puVar17);\n      uVar19 = uVar19 & 0xffff;\n      uVar14 = ReadBlobMSBShort(puVar17);\n      uVar20 = ReadBlobByte(puVar17);\n      if ((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)) {\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar21 = ReadBlobByte(puVar17);\n      if (2 < uVar21) {\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar15 = ReadBlobMSBShort(puVar17);\n      iVar18 = ReadBlobByte(puVar17);\n      uVar21 = ReadBlobByte(puVar17);\n      if ((uVar21 != 0xff) && (1 < uVar21)) {\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(puVar17);\n      if (uVar20 == 0x10) {\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }\n      else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }\nLAB_002622bf:\n      local_a0 = local_70;\n      if (*(int *)(param_1 + 0x1bc) != 0) {\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (local_9c == 0) goto LAB_00262f23;\n      uVar26 = puVar17[6] * 2;\n      if ((uint)(puVar17[6] * 2) < uVar19) {\n        uVar26 = uVar19;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar26,1);\n      if (__s == (ushort *)0x0) {\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar26);\n      local_b0 = (void *)0x0;\n      if (uVar21 == 0) {\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }\n      iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1;\n      if (0 < (int)puVar17[7]) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }\n      if ((uVar14 & 0x2000) != 0) {\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar21 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }\n      if (((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)) goto LAB_0026266b;\n      uVar19 = (uint)uVar15 * 4;\n      bVar40 = CARRY4(local_94,uVar19);\n      local_94 = local_94 + uVar19;\n      local_90 = local_90 + (uint)bVar40;\n      lVar44 = GetBlobSize(puVar17);\n      if (lVar44 <= CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }\n      lVar44 = SeekBlob(puVar17,local_94,local_90,0);\n      if (lVar44 != CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(param_1,puVar17,param_2);\n      iVar18 = GetNextImageInList(puVar17);\n      if (iVar18 == 0) break;\n      puVar17 = (undefined4 *)SyncNextImageInList(puVar17);\n      uVar42 = GetBlobSize(puVar17);\n      uVar43 = TellBlob(puVar17);\n      iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42);\n    } while (iVar18 != 0);\n    CloseBlob(puVar17);\nLAB_00262f23:\n    puVar24 = (undefined4 *)DestroyImageList(puVar17);\n  }" else (compound_statement "{\n    do {\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[6] = uVar19 & 0xffff;\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[7] = uVar19 & 0xffff;\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((puVar17[6] == 0) || (puVar17[7] == 0)) {\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }\n      iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (iVar18 == 0) goto LAB_00262f23;\n      SetImageBackgroundColor(puVar17,param_2);\n      uVar19 = ReadBlobMSBShort(puVar17);\n      uVar19 = uVar19 & 0xffff;\n      uVar14 = ReadBlobMSBShort(puVar17);\n      uVar20 = ReadBlobByte(puVar17);\n      if ((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)) {\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar21 = ReadBlobByte(puVar17);\n      if (2 < uVar21) {\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar15 = ReadBlobMSBShort(puVar17);\n      iVar18 = ReadBlobByte(puVar17);\n      uVar21 = ReadBlobByte(puVar17);\n      if ((uVar21 != 0xff) && (1 < uVar21)) {\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(puVar17);\n      if (uVar20 == 0x10) {\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }\n      else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }\nLAB_002622bf:\n      local_a0 = local_70;\n      if (*(int *)(param_1 + 0x1bc) != 0) {\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (local_9c == 0) goto LAB_00262f23;\n      uVar26 = puVar17[6] * 2;\n      if ((uint)(puVar17[6] * 2) < uVar19) {\n        uVar26 = uVar19;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar26,1);\n      if (__s == (ushort *)0x0) {\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar26);\n      local_b0 = (void *)0x0;\n      if (uVar21 == 0) {\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }\n      iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1;\n      if (0 < (int)puVar17[7]) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }\n      if ((uVar14 & 0x2000) != 0) {\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar21 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }\n      if (((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)) goto LAB_0026266b;\n      uVar19 = (uint)uVar15 * 4;\n      bVar40 = CARRY4(local_94,uVar19);\n      local_94 = local_94 + uVar19;\n      local_90 = local_90 + (uint)bVar40;\n      lVar44 = GetBlobSize(puVar17);\n      if (lVar44 <= CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }\n      lVar44 = SeekBlob(puVar17,local_94,local_90,0);\n      if (lVar44 != CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(param_1,puVar17,param_2);\n      iVar18 = GetNextImageInList(puVar17);\n      if (iVar18 == 0) break;\n      puVar17 = (undefined4 *)SyncNextImageInList(puVar17);\n      uVar42 = GetBlobSize(puVar17);\n      uVar43 = TellBlob(puVar17);\n      iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42);\n    } while (iVar18 != 0);\n    CloseBlob(puVar17);\nLAB_00262f23:\n    puVar24 = (undefined4 *)DestroyImageList(puVar17);\n  }" { (do_statement "do {\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[6] = uVar19 & 0xffff;\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[7] = uVar19 & 0xffff;\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((puVar17[6] == 0) || (puVar17[7] == 0)) {\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }\n      iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (iVar18 == 0) goto LAB_00262f23;\n      SetImageBackgroundColor(puVar17,param_2);\n      uVar19 = ReadBlobMSBShort(puVar17);\n      uVar19 = uVar19 & 0xffff;\n      uVar14 = ReadBlobMSBShort(puVar17);\n      uVar20 = ReadBlobByte(puVar17);\n      if ((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)) {\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar21 = ReadBlobByte(puVar17);\n      if (2 < uVar21) {\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar15 = ReadBlobMSBShort(puVar17);\n      iVar18 = ReadBlobByte(puVar17);\n      uVar21 = ReadBlobByte(puVar17);\n      if ((uVar21 != 0xff) && (1 < uVar21)) {\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(puVar17);\n      if (uVar20 == 0x10) {\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }\n      else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }\nLAB_002622bf:\n      local_a0 = local_70;\n      if (*(int *)(param_1 + 0x1bc) != 0) {\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (local_9c == 0) goto LAB_00262f23;\n      uVar26 = puVar17[6] * 2;\n      if ((uint)(puVar17[6] * 2) < uVar19) {\n        uVar26 = uVar19;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar26,1);\n      if (__s == (ushort *)0x0) {\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar26);\n      local_b0 = (void *)0x0;\n      if (uVar21 == 0) {\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }\n      iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1;\n      if (0 < (int)puVar17[7]) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }\n      if ((uVar14 & 0x2000) != 0) {\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar21 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }\n      if (((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)) goto LAB_0026266b;\n      uVar19 = (uint)uVar15 * 4;\n      bVar40 = CARRY4(local_94,uVar19);\n      local_94 = local_94 + uVar19;\n      local_90 = local_90 + (uint)bVar40;\n      lVar44 = GetBlobSize(puVar17);\n      if (lVar44 <= CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }\n      lVar44 = SeekBlob(puVar17,local_94,local_90,0);\n      if (lVar44 != CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(param_1,puVar17,param_2);\n      iVar18 = GetNextImageInList(puVar17);\n      if (iVar18 == 0) break;\n      puVar17 = (undefined4 *)SyncNextImageInList(puVar17);\n      uVar42 = GetBlobSize(puVar17);\n      uVar43 = TellBlob(puVar17);\n      iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42);\n    } while (iVar18 != 0);" do (compound_statement "{\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[6] = uVar19 & 0xffff;\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[7] = uVar19 & 0xffff;\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((puVar17[6] == 0) || (puVar17[7] == 0)) {\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }\n      iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (iVar18 == 0) goto LAB_00262f23;\n      SetImageBackgroundColor(puVar17,param_2);\n      uVar19 = ReadBlobMSBShort(puVar17);\n      uVar19 = uVar19 & 0xffff;\n      uVar14 = ReadBlobMSBShort(puVar17);\n      uVar20 = ReadBlobByte(puVar17);\n      if ((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)) {\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar21 = ReadBlobByte(puVar17);\n      if (2 < uVar21) {\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar15 = ReadBlobMSBShort(puVar17);\n      iVar18 = ReadBlobByte(puVar17);\n      uVar21 = ReadBlobByte(puVar17);\n      if ((uVar21 != 0xff) && (1 < uVar21)) {\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(puVar17);\n      if (uVar20 == 0x10) {\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }\n      else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }\nLAB_002622bf:\n      local_a0 = local_70;\n      if (*(int *)(param_1 + 0x1bc) != 0) {\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (local_9c == 0) goto LAB_00262f23;\n      uVar26 = puVar17[6] * 2;\n      if ((uint)(puVar17[6] * 2) < uVar19) {\n        uVar26 = uVar19;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar26,1);\n      if (__s == (ushort *)0x0) {\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar26);\n      local_b0 = (void *)0x0;\n      if (uVar21 == 0) {\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }\n      iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1;\n      if (0 < (int)puVar17[7]) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }\n      if ((uVar14 & 0x2000) != 0) {\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar21 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }\n      if (((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)) goto LAB_0026266b;\n      uVar19 = (uint)uVar15 * 4;\n      bVar40 = CARRY4(local_94,uVar19);\n      local_94 = local_94 + uVar19;\n      local_90 = local_90 + (uint)bVar40;\n      lVar44 = GetBlobSize(puVar17);\n      if (lVar44 <= CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }\n      lVar44 = SeekBlob(puVar17,local_94,local_90,0);\n      if (lVar44 != CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(param_1,puVar17,param_2);\n      iVar18 = GetNextImageInList(puVar17);\n      if (iVar18 == 0) break;\n      puVar17 = (undefined4 *)SyncNextImageInList(puVar17);\n      uVar42 = GetBlobSize(puVar17);\n      uVar43 = TellBlob(puVar17);\n      iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42);\n    }" { (expression_statement "uVar19 = ReadBlobMSBShort(puVar17);" (assignment_expression "uVar19 = ReadBlobMSBShort(puVar17)" identifier = (call_expression "ReadBlobMSBShort(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "puVar17[6] = uVar19 & 0xffff;" (assignment_expression "puVar17[6] = uVar19 & 0xffff" (subscript_expression "puVar17[6]" identifier [ number_literal ]) = (binary_expression "uVar19 & 0xffff" identifier & number_literal)) ;) (expression_statement "uVar19 = ReadBlobMSBShort(puVar17);" (assignment_expression "uVar19 = ReadBlobMSBShort(puVar17)" identifier = (call_expression "ReadBlobMSBShort(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "puVar17[7] = uVar19 & 0xffff;" (assignment_expression "puVar17[7] = uVar19 & 0xffff" (subscript_expression "puVar17[7]" identifier [ number_literal ]) = (binary_expression "uVar19 & 0xffff" identifier & number_literal)) ;) (expression_statement "iVar18 = EOFBlob(puVar17);" (assignment_expression "iVar18 = EOFBlob(puVar17)" identifier = (call_expression "EOFBlob(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (if_statement "if (iVar18 != 0) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }" { (expression_statement "pcVar47 = "ImproperImageHeader";" (assignment_expression "pcVar47 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar46 = 0x1a9;" (assignment_expression "uVar46 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar45 = 0x138;" (assignment_expression "uVar45 = 0x138" identifier = number_literal) ;) (labeled_statement "LAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);" statement_identifier : (expression_statement "ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);" (call_expression "ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0)" identifier (argument_list "(param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0)" ( identifier , (string_literal ""coders/palm.c"" " string_content ") , (string_literal ""ReadPALMImage"" " string_content ") , identifier , identifier , identifier , (string_literal ""`%s\'"" " string_content escape_sequence ") , (binary_expression "param_1 + 0x21f0" identifier + number_literal) ))) ;)) (expression_statement "CloseBlob(puVar17);" (call_expression "CloseBlob(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;) (expression_statement "DestroyImageList(puVar17);" (call_expression "DestroyImageList(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;) (expression_statement "puVar24 = (undefined4 *)0x0;" (assignment_expression "puVar24 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_002621b8;" goto statement_identifier ;) })) (if_statement "if ((puVar17[6] == 0) || (puVar17[7] == 0)) {\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }" if (parenthesized_expression "((puVar17[6] == 0) || (puVar17[7] == 0))" ( (binary_expression "(puVar17[6] == 0) || (puVar17[7] == 0)" (parenthesized_expression "(puVar17[6] == 0)" ( (binary_expression "puVar17[6] == 0" (subscript_expression "puVar17[6]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(puVar17[7] == 0)" ( (binary_expression "puVar17[7] == 0" (subscript_expression "puVar17[7]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }" { (expression_statement "pcVar47 = "NegativeOrZeroImageSize";" (assignment_expression "pcVar47 = "NegativeOrZeroImageSize"" identifier = (string_literal ""NegativeOrZeroImageSize"" " string_content ")) ;) (expression_statement "uVar46 = 0x1a9;" (assignment_expression "uVar46 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar45 = 0x13a;" (assignment_expression "uVar45 = 0x13a" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);" (assignment_expression "iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2)" identifier = (call_expression "SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2)" identifier (argument_list "(puVar17,puVar17[6],puVar17[7],param_2)" ( identifier , (subscript_expression "puVar17[6]" identifier [ number_literal ]) , (subscript_expression "puVar17[7]" identifier [ number_literal ]) , identifier )))) ;) (if_statement "if (iVar18 == 0) goto LAB_00262f23;" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00262f23;" goto statement_identifier ;)) (expression_statement "SetImageBackgroundColor(puVar17,param_2);" (call_expression "SetImageBackgroundColor(puVar17,param_2)" identifier (argument_list "(puVar17,param_2)" ( identifier , identifier ))) ;) (expression_statement "uVar19 = ReadBlobMSBShort(puVar17);" (assignment_expression "uVar19 = ReadBlobMSBShort(puVar17)" identifier = (call_expression "ReadBlobMSBShort(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "uVar19 = uVar19 & 0xffff;" (assignment_expression "uVar19 = uVar19 & 0xffff" identifier = (binary_expression "uVar19 & 0xffff" identifier & number_literal)) ;) (expression_statement "uVar14 = ReadBlobMSBShort(puVar17);" (assignment_expression "uVar14 = ReadBlobMSBShort(puVar17)" identifier = (call_expression "ReadBlobMSBShort(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "uVar20 = ReadBlobByte(puVar17);" (assignment_expression "uVar20 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (if_statement "if ((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)) {\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }" if (parenthesized_expression "((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0))" ( (binary_expression "(0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)" (parenthesized_expression "(0x10 < uVar20)" ( (binary_expression "0x10 < uVar20" number_literal < identifier) )) || (parenthesized_expression "((0x10116U >> (uVar20 & 0x1f) & 1) == 0)" ( (binary_expression "(0x10116U >> (uVar20 & 0x1f) & 1) == 0" (parenthesized_expression "(0x10116U >> (uVar20 & 0x1f) & 1)" ( (binary_expression "0x10116U >> (uVar20 & 0x1f) & 1" (binary_expression "0x10116U >> (uVar20 & 0x1f)" number_literal >> (parenthesized_expression "(uVar20 & 0x1f)" ( (binary_expression "uVar20 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }" { (expression_statement "pcVar47 = "UnsupportedBitsPerPixel";" (assignment_expression "pcVar47 = "UnsupportedBitsPerPixel"" identifier = (string_literal ""UnsupportedBitsPerPixel"" " string_content ")) ;) (expression_statement "uVar46 = 0x1a9;" (assignment_expression "uVar46 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar45 = 0x145;" (assignment_expression "uVar45 = 0x145" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "uVar21 = ReadBlobByte(puVar17);" (assignment_expression "uVar21 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (if_statement "if (2 < uVar21) {\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }" if (parenthesized_expression "(2 < uVar21)" ( (binary_expression "2 < uVar21" number_literal < identifier) )) (compound_statement "{\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }" { (expression_statement "pcVar47 = "FileFormatVersionMismatch";" (assignment_expression "pcVar47 = "FileFormatVersionMismatch"" identifier = (string_literal ""FileFormatVersionMismatch"" " string_content ")) ;) (expression_statement "uVar46 = 0x1a9;" (assignment_expression "uVar46 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar45 = 0x148;" (assignment_expression "uVar45 = 0x148" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "uVar15 = ReadBlobMSBShort(puVar17);" (assignment_expression "uVar15 = ReadBlobMSBShort(puVar17)" identifier = (call_expression "ReadBlobMSBShort(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "iVar18 = ReadBlobByte(puVar17);" (assignment_expression "iVar18 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "uVar21 = ReadBlobByte(puVar17);" (assignment_expression "uVar21 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (if_statement "if ((uVar21 != 0xff) && (1 < uVar21)) {\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }" if (parenthesized_expression "((uVar21 != 0xff) && (1 < uVar21))" ( (binary_expression "(uVar21 != 0xff) && (1 < uVar21)" (parenthesized_expression "(uVar21 != 0xff)" ( (binary_expression "uVar21 != 0xff" identifier != number_literal) )) && (parenthesized_expression "(1 < uVar21)" ( (binary_expression "1 < uVar21" number_literal < identifier) ))) )) (compound_statement "{\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }" { (expression_statement "pcVar47 = "UnrecognizedImageCompression";" (assignment_expression "pcVar47 = "UnrecognizedImageCompression"" identifier = (string_literal ""UnrecognizedImageCompression"" " string_content ")) ;) (expression_statement "uVar46 = 0x1a9;" (assignment_expression "uVar46 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar45 = 0x14f;" (assignment_expression "uVar45 = 0x14f" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "ReadBlobMSBShort(puVar17);" (call_expression "ReadBlobMSBShort(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;) (if_statement "if (uVar20 == 0x10) {\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }\n      else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }" if (parenthesized_expression "(uVar20 == 0x10)" ( (binary_expression "uVar20 == 0x10" identifier == number_literal) )) (compound_statement "{\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }" { (expression_statement "GetPixelInfo(puVar17,local_70);" (call_expression "GetPixelInfo(puVar17,local_70)" identifier (argument_list "(puVar17,local_70)" ( identifier , identifier ))) ;) (expression_statement "ReadBlobByte(puVar17);" (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;) (expression_statement "ReadBlobByte(puVar17);" (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;) (expression_statement "ReadBlobByte(puVar17);" (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;) (expression_statement "ReadBlobByte(puVar17);" (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;) (expression_statement "ReadBlobByte(puVar17);" (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;) (expression_statement "iVar22 = ReadBlobByte(puVar17);" (assignment_expression "iVar22 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "fVar11 = DAT_00306a38;" (assignment_expression "fVar11 = DAT_00306a38" identifier = identifier) ;) (expression_statement "fVar12 = DAT_002df8a8;" (assignment_expression "fVar12 = DAT_002df8a8" identifier = identifier) ;) (expression_statement "local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);" (assignment_expression "local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38)" identifier = (cast_expression "(double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((DAT_002df8a8 * (float)iVar22) / DAT_00306a38)" ( (binary_expression "(DAT_002df8a8 * (float)iVar22) / DAT_00306a38" (parenthesized_expression "(DAT_002df8a8 * (float)iVar22)" ( (binary_expression "DAT_002df8a8 * (float)iVar22" identifier * (cast_expression "(float)iVar22" ( (type_descriptor "float" primitive_type) ) identifier)) )) / identifier) )))) ;) (expression_statement "iVar22 = ReadBlobByte(puVar17);" (assignment_expression "iVar22 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);" (assignment_expression "local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4)" identifier = (cast_expression "(double)(((float)iVar22 * fVar12) / DAT_0030d3a4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(((float)iVar22 * fVar12) / DAT_0030d3a4)" ( (binary_expression "((float)iVar22 * fVar12) / DAT_0030d3a4" (parenthesized_expression "((float)iVar22 * fVar12)" ( (binary_expression "(float)iVar22 * fVar12" (cast_expression "(float)iVar22" ( (type_descriptor "float" primitive_type) ) identifier) * identifier) )) / identifier) )))) ;) (expression_statement "iVar22 = ReadBlobByte(puVar17);" (assignment_expression "iVar22 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "local_40 = (double)(((float)iVar22 * fVar12) / fVar11);" (assignment_expression "local_40 = (double)(((float)iVar22 * fVar12) / fVar11)" identifier = (cast_expression "(double)(((float)iVar22 * fVar12) / fVar11)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(((float)iVar22 * fVar12) / fVar11)" ( (binary_expression "((float)iVar22 * fVar12) / fVar11" (parenthesized_expression "((float)iVar22 * fVar12)" ( (binary_expression "(float)iVar22 * fVar12" (cast_expression "(float)iVar22" ( (type_descriptor "float" primitive_type) ) identifier) * identifier) )) / identifier) )))) ;) (if_statement "if ((short)uVar14 < 0) goto LAB_00262c40;" if (parenthesized_expression "((short)uVar14 < 0)" ( (binary_expression "(short)uVar14 < 0" (cast_expression "(short)uVar14" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) < number_literal) )) (goto_statement "goto LAB_00262c40;" goto statement_identifier ;)) (expression_statement "*puVar17 = 1;" (assignment_expression "*puVar17 = 1" (pointer_expression "*puVar17" * identifier) = number_literal) ;) }) (else_clause "else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }" else (compound_statement "{\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }" { (expression_statement "iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);" (assignment_expression "iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2)" identifier = (call_expression "AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2)" identifier (argument_list "(puVar17,1 << ((byte)uVar20 & 0x1f),param_2)" ( identifier , (binary_expression "1 << ((byte)uVar20 & 0x1f)" number_literal << (parenthesized_expression "((byte)uVar20 & 0x1f)" ( (binary_expression "(byte)uVar20 & 0x1f" (cast_expression "(byte)uVar20" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) , identifier )))) ;) (if_statement "if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }" if (parenthesized_expression "(iVar22 == 0)" ( (binary_expression "iVar22 == 0" identifier == number_literal) )) (compound_statement "{\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }" { (expression_statement "pcVar47 = "MemoryAllocationFailed";" (assignment_expression "pcVar47 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "uVar46 = 400;" (assignment_expression "uVar46 = 400" identifier = number_literal) ;) (expression_statement "uVar45 = 0x158;" (assignment_expression "uVar45 = 0x158" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "GetPixelInfo(puVar17,local_70);" (call_expression "GetPixelInfo(puVar17,local_70)" identifier (argument_list "(puVar17,local_70)" ( identifier , identifier ))) ;) (if_statement "if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }" if (parenthesized_expression "(uVar20 == 8)" ( (binary_expression "uVar20 == 8" identifier == number_literal) )) (compound_statement "{\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }" { (if_statement "if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }" if (parenthesized_expression "((uVar14 & 0x4000) == 0)" ( (binary_expression "(uVar14 & 0x4000) == 0" (parenthesized_expression "(uVar14 & 0x4000)" ( (binary_expression "uVar14 & 0x4000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }" { (expression_statement "iVar22 = 0xff;" (assignment_expression "iVar22 = 0xff" identifier = number_literal) ;) (expression_statement "pbVar28 = &DAT_00344940;" (assignment_expression "pbVar28 = &DAT_00344940" identifier = (pointer_expression "&DAT_00344940" & identifier)) ;) (do_statement "do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");" do (compound_statement "{\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            }" { (if_statement "if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }" if (parenthesized_expression "(iVar22 < (int)puVar17[9])" ( (binary_expression "iVar22 < (int)puVar17[9]" identifier < (cast_expression "(int)puVar17[9]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar17[9]" identifier [ number_literal ]))) )) (compound_statement "{\n                local_10c = iVar22 * 0x50;\n              }" { (expression_statement "local_10c = iVar22 * 0x50;" (assignment_expression "local_10c = iVar22 * 0x50" identifier = (binary_expression "iVar22 * 0x50" identifier * number_literal)) ;) }) (else_clause "else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }" else (compound_statement "{\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }" { (expression_statement "local_10c = 0;" (assignment_expression "local_10c = 0" identifier = number_literal) ;) (if_statement "if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }" if (parenthesized_expression "(*param_2 != 0x1a9)" ( (binary_expression "*param_2 != 0x1a9" (pointer_expression "*param_2" * identifier) != number_literal) )) (compound_statement "{\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }" { (expression_statement "local_10c = 0;" (assignment_expression "local_10c = 0" identifier = number_literal) ;) (expression_statement "ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);" (call_expression "ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6)" identifier (argument_list "(param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6)" ( identifier , (string_literal ""./MagickCore/colormap-private.h"" " string_content ") , (string_literal ""ConstrainColormapIndex"" " string_content ") , number_literal , number_literal , (string_literal ""InvalidColormapIndex"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (binary_expression "puVar17 + 0xc6" identifier + number_literal) ))) ;) })) }))) (expression_statement "fVar12 = DAT_002e814c;" (assignment_expression "fVar12 = DAT_002e814c" identifier = identifier) ;) (expression_statement "pbVar37 = pbVar28 + 3;" (assignment_expression "pbVar37 = pbVar28 + 3" identifier = (binary_expression "pbVar28 + 3" identifier + number_literal)) ;) (expression_statement "iVar22 = iVar22 + -1;" (assignment_expression "iVar22 = iVar22 + -1" identifier = (binary_expression "iVar22 + -1" identifier + number_literal)) ;) (expression_statement "local_10c = puVar17[10] + local_10c;" (assignment_expression "local_10c = puVar17[10] + local_10c" identifier = (binary_expression "puVar17[10] + local_10c" (subscript_expression "puVar17[10]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "*(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);" (assignment_expression "*(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c)" (pointer_expression "*(double *)(local_10c + 0x20)" * (cast_expression "(double *)(local_10c + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_10c + 0x20)" ( (binary_expression "local_10c + 0x20" identifier + number_literal) )))) = (cast_expression "(double)((float)*pbVar28 * DAT_002e814c)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)*pbVar28 * DAT_002e814c)" ( (binary_expression "(float)*pbVar28 * DAT_002e814c" (cast_expression "(float)*pbVar28" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*pbVar28" * identifier)) * identifier) )))) ;) (expression_statement "*(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);" (assignment_expression "*(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12)" (pointer_expression "*(double *)(local_10c + 0x28)" * (cast_expression "(double *)(local_10c + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_10c + 0x28)" ( (binary_expression "local_10c + 0x28" identifier + number_literal) )))) = (cast_expression "(double)((float)pbVar28[1] * fVar12)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)pbVar28[1] * fVar12)" ( (binary_expression "(float)pbVar28[1] * fVar12" (cast_expression "(float)pbVar28[1]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pbVar28[1]" identifier [ number_literal ])) * identifier) )))) ;) (expression_statement "*(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);" (assignment_expression "*(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12)" (pointer_expression "*(double *)(local_10c + 0x30)" * (cast_expression "(double *)(local_10c + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_10c + 0x30)" ( (binary_expression "local_10c + 0x30" identifier + number_literal) )))) = (cast_expression "(double)((float)pbVar28[2] * fVar12)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)pbVar28[2] * fVar12)" ( (binary_expression "(float)pbVar28[2] * fVar12" (cast_expression "(float)pbVar28[2]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pbVar28[2]" identifier [ number_literal ])) * identifier) )))) ;) (expression_statement "pbVar28 = pbVar37;" (assignment_expression "pbVar28 = pbVar37" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar37 != (byte *)"Pango Markup Language")" ( (binary_expression "pbVar37 != (byte *)"Pango Markup Language"" identifier != (cast_expression "(byte *)"Pango Markup Language"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""Pango Markup Language"" " string_content "))) )) ;) }) (else_clause "else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }" else (compound_statement "{\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }" { (expression_statement "uVar16 = ReadBlobMSBShort(puVar17);" (assignment_expression "uVar16 = ReadBlobMSBShort(puVar17)" identifier = (call_expression "ReadBlobMSBShort(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (if_statement "if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }" if (parenthesized_expression "(uVar16 != 0)" ( (binary_expression "uVar16 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }" { (expression_statement "iVar22 = 0xff;" (assignment_expression "iVar22 = 0xff" identifier = number_literal) ;) (do_statement "do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);" do (compound_statement "{\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              }" { (expression_statement "ReadBlobByte(puVar17);" (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;) (if_statement "if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }" if (parenthesized_expression "((iVar22 < 0) || ((int)puVar17[9] <= iVar22))" ( (binary_expression "(iVar22 < 0) || ((int)puVar17[9] <= iVar22)" (parenthesized_expression "(iVar22 < 0)" ( (binary_expression "iVar22 < 0" identifier < number_literal) )) || (parenthesized_expression "((int)puVar17[9] <= iVar22)" ( (binary_expression "(int)puVar17[9] <= iVar22" (cast_expression "(int)puVar17[9]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar17[9]" identifier [ number_literal ])) <= identifier) ))) )) (compound_statement "{\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }" { (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (if_statement "if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }" if (parenthesized_expression "(*param_2 != 0x1a9)" ( (binary_expression "*param_2 != 0x1a9" (pointer_expression "*param_2" * identifier) != number_literal) )) (compound_statement "{\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }" { (expression_statement "ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);" (call_expression "ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6)" identifier (argument_list "(param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6)" ( identifier , (string_literal ""./MagickCore/colormap-private.h"" " string_content ") , (string_literal ""ConstrainColormapIndex"" " string_content ") , number_literal , number_literal , (string_literal ""InvalidColormapIndex"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (binary_expression "puVar17 + 0xc6" identifier + number_literal) ))) ;) })) }) (else_clause "else {\n                  iVar23 = iVar22 * 0x50;\n                }" else (compound_statement "{\n                  iVar23 = iVar22 * 0x50;\n                }" { (expression_statement "iVar23 = iVar22 * 0x50;" (assignment_expression "iVar23 = iVar22 * 0x50" identifier = (binary_expression "iVar22 * 0x50" identifier * number_literal)) ;) }))) (expression_statement "iVar22 = iVar22 + -1;" (assignment_expression "iVar22 = iVar22 + -1" identifier = (binary_expression "iVar22 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = ReadBlobByte(puVar17);" (assignment_expression "bVar13 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "dVar1 = (double)DAT_002e814c;" (assignment_expression "dVar1 = (double)DAT_002e814c" identifier = (cast_expression "(double)DAT_002e814c" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "*(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);" (assignment_expression "*(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c)" (pointer_expression "*(double *)(puVar17[10] + 0x20 + iVar23)" * (cast_expression "(double *)(puVar17[10] + 0x20 + iVar23)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17[10] + 0x20 + iVar23)" ( (binary_expression "puVar17[10] + 0x20 + iVar23" (binary_expression "puVar17[10] + 0x20" (subscript_expression "puVar17[10]" identifier [ number_literal ]) + number_literal) + identifier) )))) = (cast_expression "(double)((float)bVar13 * DAT_002e814c)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)bVar13 * DAT_002e814c)" ( (binary_expression "(float)bVar13 * DAT_002e814c" (cast_expression "(float)bVar13" ( (type_descriptor "float" primitive_type) ) identifier) * identifier) )))) ;) (expression_statement "bVar13 = ReadBlobByte(puVar17);" (assignment_expression "bVar13 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "*(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;" (assignment_expression "*(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13" (pointer_expression "*(double *)(puVar17[10] + 0x28 + iVar23)" * (cast_expression "(double *)(puVar17[10] + 0x28 + iVar23)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17[10] + 0x28 + iVar23)" ( (binary_expression "puVar17[10] + 0x28 + iVar23" (binary_expression "puVar17[10] + 0x28" (subscript_expression "puVar17[10]" identifier [ number_literal ]) + number_literal) + identifier) )))) = (binary_expression "dVar1 * (double)bVar13" identifier * (cast_expression "(double)bVar13" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "bVar13 = ReadBlobByte(puVar17);" (assignment_expression "bVar13 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "*(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;" (assignment_expression "*(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13" (pointer_expression "*(double *)(puVar17[10] + 0x30 + iVar23)" * (cast_expression "(double *)(puVar17[10] + 0x30 + iVar23)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17[10] + 0x30 + iVar23)" ( (binary_expression "puVar17[10] + 0x30 + iVar23" (binary_expression "puVar17[10] + 0x30" (subscript_expression "puVar17[10]" identifier [ number_literal ]) + number_literal) + identifier) )))) = (binary_expression "dVar1 * (double)bVar13" identifier * (cast_expression "(double)bVar13" ( (type_descriptor "double" primitive_type) ) identifier))) ;) }) while (parenthesized_expression "(0xff - (uint)uVar16 != iVar22)" ( (binary_expression "0xff - (uint)uVar16 != iVar22" (binary_expression "0xff - (uint)uVar16" number_literal - (cast_expression "(uint)uVar16" ( (type_descriptor "uint" type_identifier) ) identifier)) != identifier) )) ;) })) }))) (if_statement "if ((short)uVar14 < 0) goto LAB_00262c40;" if (parenthesized_expression "((short)uVar14 < 0)" ( (binary_expression "(short)uVar14 < 0" (cast_expression "(short)uVar14" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) < number_literal) )) (goto_statement "goto LAB_00262c40;" goto statement_identifier ;)) }) (else_clause "else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }" else (compound_statement "{\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }" { (if_statement "if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }" if (parenthesized_expression "((short)uVar14 < 0)" ( (binary_expression "(short)uVar14 < 0" (cast_expression "(short)uVar14" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) < number_literal) )) (compound_statement "{\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }" { (labeled_statement "LAB_00262c40:\n            ReadBlobMSBShort(puVar17);" statement_identifier : (expression_statement "ReadBlobMSBShort(puVar17);" (call_expression "ReadBlobMSBShort(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;)) })) (expression_statement "*puVar17 = 1;" (assignment_expression "*puVar17 = 1" (pointer_expression "*puVar17" * identifier) = number_literal) ;) (if_statement "if (uVar20 == 0x10) goto LAB_002622bf;" if (parenthesized_expression "(uVar20 == 0x10)" ( (binary_expression "uVar20 == 0x10" identifier == number_literal) )) (goto_statement "goto LAB_002622bf;" goto statement_identifier ;)) }))) (expression_statement "*puVar17 = 2;" (assignment_expression "*puVar17 = 2" (pointer_expression "*puVar17" * identifier) = number_literal) ;) (expression_statement "puVar17[8] = 8;" (assignment_expression "puVar17[8] = 8" (subscript_expression "puVar17[8]" identifier [ number_literal ]) = number_literal) ;) }))) (labeled_statement "LAB_002622bf:\n      local_a0 = local_70;" statement_identifier : (expression_statement "local_a0 = local_70;" (assignment_expression "local_a0 = local_70" identifier = identifier) ;)) (if_statement "if (*(int *)(param_1 + 0x1bc) != 0) {\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }" if (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) )) (compound_statement "{\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }" { (expression_statement "CloseBlob(puVar17);" (call_expression "CloseBlob(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;) (expression_statement "puVar24 = puVar17;" (assignment_expression "puVar24 = puVar17" identifier = identifier) ;) (goto_statement "goto LAB_002621b8;" goto statement_identifier ;) })) (expression_statement "local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);" (assignment_expression "local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2)" identifier = (call_expression "SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2)" identifier (argument_list "(puVar17,puVar17[6],puVar17[7],param_2)" ( identifier , (subscript_expression "puVar17[6]" identifier [ number_literal ]) , (subscript_expression "puVar17[7]" identifier [ number_literal ]) , identifier )))) ;) (if_statement "if (local_9c == 0) goto LAB_00262f23;" if (parenthesized_expression "(local_9c == 0)" ( (binary_expression "local_9c == 0" identifier == number_literal) )) (goto_statement "goto LAB_00262f23;" goto statement_identifier ;)) (expression_statement "uVar26 = puVar17[6] * 2;" (assignment_expression "uVar26 = puVar17[6] * 2" identifier = (binary_expression "puVar17[6] * 2" (subscript_expression "puVar17[6]" identifier [ number_literal ]) * number_literal)) ;) (if_statement "if ((uint)(puVar17[6] * 2) < uVar19) {\n        uVar26 = uVar19;\n      }" if (parenthesized_expression "((uint)(puVar17[6] * 2) < uVar19)" ( (binary_expression "(uint)(puVar17[6] * 2) < uVar19" (call_expression "(uint)(puVar17[6] * 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar17[6] * 2)" ( (binary_expression "puVar17[6] * 2" (subscript_expression "puVar17[6]" identifier [ number_literal ]) * number_literal) ))) < identifier) )) (compound_statement "{\n        uVar26 = uVar19;\n      }" { (expression_statement "uVar26 = uVar19;" (assignment_expression "uVar26 = uVar19" identifier = identifier) ;) })) (expression_statement "__s = (ushort *)AcquireQuantumMemory(uVar26,1);" (assignment_expression "__s = (ushort *)AcquireQuantumMemory(uVar26,1)" identifier = (cast_expression "(ushort *)AcquireQuantumMemory(uVar26,1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(uVar26,1)" identifier (argument_list "(uVar26,1)" ( identifier , number_literal ))))) ;) (if_statement "if (__s == (ushort *)0x0) {\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }" if (parenthesized_expression "(__s == (ushort *)0x0)" ( (binary_expression "__s == (ushort *)0x0" identifier == (cast_expression "(ushort *)0x0" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }" { (expression_statement "pcVar47 = "MemoryAllocationFailed";" (assignment_expression "pcVar47 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "uVar46 = 400;" (assignment_expression "uVar46 = 400" identifier = number_literal) ;) (expression_statement "uVar45 = 0x19c;" (assignment_expression "uVar45 = 0x19c" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "memset(__s,0,uVar26);" (call_expression "memset(__s,0,uVar26)" identifier (argument_list "(__s,0,uVar26)" ( identifier , number_literal , identifier ))) ;) (expression_statement "local_b0 = (void *)0x0;" (assignment_expression "local_b0 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (uVar21 == 0) {\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }" if (parenthesized_expression "(uVar21 == 0)" ( (binary_expression "uVar21 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }" { (expression_statement "uVar26 = puVar17[6] * 2;" (assignment_expression "uVar26 = puVar17[6] * 2" identifier = (binary_expression "puVar17[6] * 2" (subscript_expression "puVar17[6]" identifier [ number_literal ]) * number_literal)) ;) (if_statement "if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }" if (parenthesized_expression "((uint)(puVar17[6] * 2) < uVar19)" ( (binary_expression "(uint)(puVar17[6] * 2) < uVar19" (call_expression "(uint)(puVar17[6] * 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar17[6] * 2)" ( (binary_expression "puVar17[6] * 2" (subscript_expression "puVar17[6]" identifier [ number_literal ]) * number_literal) ))) < identifier) )) (compound_statement "{\n          uVar26 = uVar19;\n        }" { (expression_statement "uVar26 = uVar19;" (assignment_expression "uVar26 = uVar19" identifier = identifier) ;) })) (expression_statement "local_b0 = (void *)AcquireQuantumMemory(uVar26,1);" (assignment_expression "local_b0 = (void *)AcquireQuantumMemory(uVar26,1)" identifier = (cast_expression "(void *)AcquireQuantumMemory(uVar26,1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(uVar26,1)" identifier (argument_list "(uVar26,1)" ( identifier , number_literal ))))) ;) (if_statement "if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }" if (parenthesized_expression "(local_b0 == (void *)0x0)" ( (binary_expression "local_b0 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }" { (expression_statement "RelinquishMagickMemory(__s);" (call_expression "RelinquishMagickMemory(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (expression_statement "pcVar47 = "MemoryAllocationFailed";" (assignment_expression "pcVar47 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "uVar46 = 400;" (assignment_expression "uVar46 = 400" identifier = number_literal) ;) (expression_statement "uVar45 = 0x1a6;" (assignment_expression "uVar45 = 0x1a6" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "uVar26 = puVar17[6] * 2;" (assignment_expression "uVar26 = puVar17[6] * 2" identifier = (binary_expression "puVar17[6] * 2" (subscript_expression "puVar17[6]" identifier [ number_literal ]) * number_literal)) ;) (if_statement "if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }" if (parenthesized_expression "((uint)(puVar17[6] * 2) < uVar19)" ( (binary_expression "(uint)(puVar17[6] * 2) < uVar19" (call_expression "(uint)(puVar17[6] * 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar17[6] * 2)" ( (binary_expression "puVar17[6] * 2" (subscript_expression "puVar17[6]" identifier [ number_literal ]) * number_literal) ))) < identifier) )) (compound_statement "{\n          uVar26 = uVar19;\n        }" { (expression_statement "uVar26 = uVar19;" (assignment_expression "uVar26 = uVar19" identifier = identifier) ;) })) (expression_statement "memset(local_b0,0,uVar26);" (call_expression "memset(local_b0,0,uVar26)" identifier (argument_list "(local_b0,0,uVar26)" ( identifier , number_literal , identifier ))) ;) })) (expression_statement "iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1;" (assignment_expression "iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1" identifier = (binary_expression "(1 << ((byte)uVar20 & 0x1f)) + -1" (parenthesized_expression "(1 << ((byte)uVar20 & 0x1f))" ( (binary_expression "1 << ((byte)uVar20 & 0x1f)" number_literal << (parenthesized_expression "((byte)uVar20 & 0x1f)" ( (binary_expression "(byte)uVar20 & 0x1f" (cast_expression "(byte)uVar20" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )) + number_literal)) ;) (if_statement "if (0 < (int)puVar17[7]) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }" if (parenthesized_expression "(0 < (int)puVar17[7])" ( (binary_expression "0 < (int)puVar17[7]" number_literal < (cast_expression "(int)puVar17[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar17[7]" identifier [ number_literal ]))) )) (compound_statement "{\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }" { (expression_statement "local_c8 = 0;" (assignment_expression "local_c8 = 0" identifier = number_literal) ;) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" identifier = number_literal) ;) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (do_statement "do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);" do (compound_statement "{\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        }" { (if_statement "if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }" if (parenthesized_expression "((short)uVar14 < 0)" ( (binary_expression "(short)uVar14 < 0" (cast_expression "(short)uVar14" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) < number_literal) )) (compound_statement "{\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }" { (if_statement "if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }" if (parenthesized_expression "(uVar21 == 1)" ( (binary_expression "uVar21 == 1" identifier == number_literal) )) (compound_statement "{\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }" { (expression_statement "puVar17[2] = 0x13;" (assignment_expression "puVar17[2] = 0x13" (subscript_expression "puVar17[2]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }" if (parenthesized_expression "(uVar19 != 0)" ( (binary_expression "uVar19 != 0" identifier != number_literal) )) (compound_statement "{\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }" { (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (do_statement "do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);" do (compound_statement "{\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                }" { (expression_statement "sVar29 = ReadBlobByte(puVar17);" (assignment_expression "sVar29 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (if_statement "if ((int)sVar29 < 0) break;" if (parenthesized_expression "((int)sVar29 < 0)" ( (binary_expression "(int)sVar29 < 0" (cast_expression "(int)sVar29" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (break_statement "break;" break ;)) (expression_statement "__n = uVar19 - iVar23;" (assignment_expression "__n = uVar19 - iVar23" identifier = (binary_expression "uVar19 - iVar23" identifier - identifier)) ;) (if_statement "if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }" if (parenthesized_expression "((int)sVar29 < (int)(uVar19 - iVar23))" ( (binary_expression "(int)sVar29 < (int)(uVar19 - iVar23)" (cast_expression "(int)sVar29" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)(uVar19 - iVar23)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar19 - iVar23)" ( (binary_expression "uVar19 - iVar23" identifier - identifier) )))) )) (compound_statement "{\n                    __n = sVar29;\n                  }" { (expression_statement "__n = sVar29;" (assignment_expression "__n = sVar29" identifier = identifier) ;) })) (expression_statement "iVar27 = ReadBlobByte(puVar17);" (assignment_expression "iVar27 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "pbVar28 = (byte *)((int)__s + iVar23);" (assignment_expression "pbVar28 = (byte *)((int)__s + iVar23)" identifier = (cast_expression "(byte *)((int)__s + iVar23)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + iVar23)" ( (binary_expression "(int)__s + iVar23" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "iVar23 = iVar23 + __n;" (assignment_expression "iVar23 = iVar23 + __n" identifier = (binary_expression "iVar23 + __n" identifier + identifier)) ;) (expression_statement "memset(pbVar28,iVar27,__n);" (call_expression "memset(pbVar28,iVar27,__n)" identifier (argument_list "(pbVar28,iVar27,__n)" ( identifier , identifier , identifier ))) ;) }) while (parenthesized_expression "(iVar23 < (int)uVar19)" ( (binary_expression "iVar23 < (int)uVar19" identifier < (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) }) (else_clause "else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }" else (if_statement "if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }" if (parenthesized_expression "(uVar21 == 0)" ( (binary_expression "uVar21 == 0" identifier == number_literal) )) (compound_statement "{\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }" { (expression_statement "puVar17[2] = 7;" (assignment_expression "puVar17[2] = 7" (subscript_expression "puVar17[2]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }" if (parenthesized_expression "(uVar19 != 0)" ( (binary_expression "uVar19 != 0" identifier != number_literal) )) (compound_statement "{\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }" { (expression_statement "local_f4 = 0;" (assignment_expression "local_f4 = 0" identifier = number_literal) ;) (expression_statement "puVar36 = __s;" (assignment_expression "puVar36 = __s" identifier = identifier) ;) (do_statement "do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);" do (compound_statement "{\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                }" { (expression_statement "uVar26 = ReadBlobByte(puVar17);" (assignment_expression "uVar26 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (if_statement "if ((int)uVar26 < 0) break;" if (parenthesized_expression "((int)uVar26 < 0)" ( (binary_expression "(int)uVar26 < 0" (cast_expression "(int)uVar26" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar38 = uVar19 - local_f4;" (assignment_expression "uVar38 = uVar19 - local_f4" identifier = (binary_expression "uVar19 - local_f4" identifier - identifier)) ;) (if_statement "if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }" if (parenthesized_expression "((int)uVar38 < 8)" ( (binary_expression "(int)uVar38 < 8" (cast_expression "(int)uVar38" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }" { (if_statement "if (uVar38 != 0) goto LAB_002629c0;" if (parenthesized_expression "(uVar38 != 0)" ( (binary_expression "uVar38 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002629c0;" goto statement_identifier ;)) }) (else_clause "else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }" else (compound_statement "{\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }" { (expression_statement "uVar38 = 8;" (assignment_expression "uVar38 = 8" identifier = number_literal) ;) (labeled_statement "LAB_002629c0:\n                    uVar35 = 0;" statement_identifier : (expression_statement "uVar35 = 0;" (assignment_expression "uVar35 = 0" identifier = number_literal) ;)) (if_statement "if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }" if (parenthesized_expression "(local_c8 == 0)" ( (binary_expression "local_c8 == 0" identifier == number_literal) )) (compound_statement "{\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }" { (do_statement "do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);" do (compound_statement "{\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      }" { (expression_statement "bVar13 = ReadBlobByte(puVar17);" (assignment_expression "bVar13 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "*(byte *)((int)puVar36 + uVar35) = bVar13;" (assignment_expression "*(byte *)((int)puVar36 + uVar35) = bVar13" (pointer_expression "*(byte *)((int)puVar36 + uVar35)" * (cast_expression "(byte *)((int)puVar36 + uVar35)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar36 + uVar35)" ( (binary_expression "(int)puVar36 + uVar35" (cast_expression "(int)puVar36" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = identifier) ;) (expression_statement "uVar35 = uVar35 + 1;" (assignment_expression "uVar35 = uVar35 + 1" identifier = (binary_expression "uVar35 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar35 < uVar38)" ( (binary_expression "uVar35 < uVar38" identifier < identifier) )) ;) }) (else_clause "else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }" else (compound_statement "{\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }" { (expression_statement "uVar35 = 0;" (assignment_expression "uVar35 = 0" identifier = number_literal) ;) (do_statement "do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);" do (compound_statement "{\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      }" { (while_statement "while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }" while (parenthesized_expression "((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0)" ( (binary_expression "(uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0" (parenthesized_expression "(uVar26 & 1 << (7U - (char)uVar35 & 0x1f))" ( (binary_expression "uVar26 & 1 << (7U - (char)uVar35 & 0x1f)" identifier & (binary_expression "1 << (7U - (char)uVar35 & 0x1f)" number_literal << (parenthesized_expression "(7U - (char)uVar35 & 0x1f)" ( (binary_expression "7U - (char)uVar35 & 0x1f" (binary_expression "7U - (char)uVar35" number_literal - (cast_expression "(char)uVar35" ( (type_descriptor "char" primitive_type) ) identifier)) & number_literal) )))) )) == number_literal) )) (compound_statement "{\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }" { (expression_statement "*(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);" (assignment_expression "*(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4)" (pointer_expression "*(byte *)((int)puVar36 + uVar35)" * (cast_expression "(byte *)((int)puVar36 + uVar35)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar36 + uVar35)" ( (binary_expression "(int)puVar36 + uVar35" (cast_expression "(int)puVar36" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = (pointer_expression "*(byte *)((int)local_b0 + uVar35 + local_f4)" * (cast_expression "(byte *)((int)local_b0 + uVar35 + local_f4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_b0 + uVar35 + local_f4)" ( (binary_expression "(int)local_b0 + uVar35 + local_f4" (binary_expression "(int)local_b0 + uVar35" (cast_expression "(int)local_b0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) ))))) ;) (expression_statement "uVar35 = uVar35 + 1;" (assignment_expression "uVar35 = uVar35 + 1" identifier = (binary_expression "uVar35 + 1" identifier + number_literal)) ;) (if_statement "if (uVar38 <= uVar35) goto LAB_00262a23;" if (parenthesized_expression "(uVar38 <= uVar35)" ( (binary_expression "uVar38 <= uVar35" identifier <= identifier) )) (goto_statement "goto LAB_00262a23;" goto statement_identifier ;)) })) (expression_statement "bVar13 = ReadBlobByte(puVar17);" (assignment_expression "bVar13 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "*(byte *)((int)puVar36 + uVar35) = bVar13;" (assignment_expression "*(byte *)((int)puVar36 + uVar35) = bVar13" (pointer_expression "*(byte *)((int)puVar36 + uVar35)" * (cast_expression "(byte *)((int)puVar36 + uVar35)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar36 + uVar35)" ( (binary_expression "(int)puVar36 + uVar35" (cast_expression "(int)puVar36" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = identifier) ;) (expression_statement "uVar35 = uVar35 + 1;" (assignment_expression "uVar35 = uVar35 + 1" identifier = (binary_expression "uVar35 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar35 < uVar38)" ( (binary_expression "uVar35 < uVar38" identifier < identifier) )) ;) }))) }))) (labeled_statement "LAB_00262a23:\n                  local_f4 = local_f4 + 8;" statement_identifier : (expression_statement "local_f4 = local_f4 + 8;" (assignment_expression "local_f4 = local_f4 + 8" identifier = (binary_expression "local_f4 + 8" identifier + number_literal)) ;)) (expression_statement "puVar36 = puVar36 + 4;" (assignment_expression "puVar36 = puVar36 + 4" identifier = (binary_expression "puVar36 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_f4 != (uVar19 - 1 & 0xfffffff8) + 8)" ( (binary_expression "local_f4 != (uVar19 - 1 & 0xfffffff8) + 8" identifier != (binary_expression "(uVar19 - 1 & 0xfffffff8) + 8" (parenthesized_expression "(uVar19 - 1 & 0xfffffff8)" ( (binary_expression "uVar19 - 1 & 0xfffffff8" (binary_expression "uVar19 - 1" identifier - number_literal) & number_literal) )) + number_literal)) )) ;) })) (expression_statement "memcpy(local_b0,__s,uVar19);" (call_expression "memcpy(local_b0,__s,uVar19)" identifier (argument_list "(local_b0,__s,uVar19)" ( identifier , identifier , identifier ))) ;) })))) }) (else_clause "else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }" else (compound_statement "{\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }" { (expression_statement "puVar17[2] = 0x10;" (assignment_expression "puVar17[2] = 0x10" (subscript_expression "puVar17[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar26 = ReadBlob(puVar17,uVar19,__s);" (assignment_expression "uVar26 = ReadBlob(puVar17,uVar19,__s)" identifier = (call_expression "ReadBlob(puVar17,uVar19,__s)" identifier (argument_list "(puVar17,uVar19,__s)" ( identifier , identifier , identifier )))) ;) (if_statement "if (uVar26 != uVar19) break;" if (parenthesized_expression "(uVar26 != uVar19)" ( (binary_expression "uVar26 != uVar19" identifier != identifier) )) (break_statement "break;" break ;)) }))) (expression_statement "iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);" (assignment_expression "iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2)" identifier = (call_expression "QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2)" identifier (argument_list "(puVar17,0,local_c8,puVar17[6],1,param_2)" ( identifier , number_literal , identifier , (subscript_expression "puVar17[6]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (expression_statement "fVar12 = DAT_002df8a8;" (assignment_expression "fVar12 = DAT_002df8a8" identifier = identifier) ;) (if_statement "if (iVar23 == 0) break;" if (parenthesized_expression "(iVar23 == 0)" ( (binary_expression "iVar23 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar26 = puVar17[6];" (assignment_expression "uVar26 = puVar17[6]" identifier = (subscript_expression "puVar17[6]" identifier [ number_literal ])) ;) (if_statement "if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }" if (parenthesized_expression "(uVar20 != 0x10)" ( (binary_expression "uVar20 != 0x10" identifier != number_literal) )) (compound_statement "{\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }" { (if_statement "if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }" if (parenthesized_expression "(0 < (int)uVar26)" ( (binary_expression "0 < (int)uVar26" number_literal < (cast_expression "(int)uVar26" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }" { (if_statement "if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }" if (parenthesized_expression "(uVar19 == 0)" ( (binary_expression "uVar19 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }" { (labeled_statement "LAB_002628e2:\n                RelinquishMagickMemory(__s);" statement_identifier : (expression_statement "RelinquishMagickMemory(__s);" (call_expression "RelinquishMagickMemory(__s)" identifier (argument_list "(__s)" ( identifier ))) ;)) (if_statement "if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }" if (parenthesized_expression "(uVar21 == 0)" ( (binary_expression "uVar21 == 0" identifier == number_literal) )) (compound_statement "{\n                  RelinquishMagickMemory(local_b0);\n                }" { (expression_statement "RelinquishMagickMemory(local_b0);" (call_expression "RelinquishMagickMemory(local_b0)" identifier (argument_list "(local_b0)" ( identifier ))) ;) })) (expression_statement "pcVar47 = "CorruptImage";" (assignment_expression "pcVar47 = "CorruptImage"" identifier = (string_literal ""CorruptImage"" " string_content ")) ;) (expression_statement "uVar46 = 0x1a9;" (assignment_expression "uVar46 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar45 = 0x206;" (assignment_expression "uVar45 = 0x206" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "iVar34 = 0;" (assignment_expression "iVar34 = 0" identifier = number_literal) ;) (expression_statement "iVar27 = puVar17[0xaa];" (assignment_expression "iVar27 = puVar17[0xaa]" identifier = (subscript_expression "puVar17[0xaa]" identifier [ number_literal ])) ;) (expression_statement "iVar2 = *(int *)(iVar27 + 0x40);" (assignment_expression "iVar2 = *(int *)(iVar27 + 0x40)" identifier = (pointer_expression "*(int *)(iVar27 + 0x40)" * (cast_expression "(int *)(iVar27 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x40)" ( (binary_expression "iVar27 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = puVar17[10];" (assignment_expression "iVar3 = puVar17[10]" identifier = (subscript_expression "puVar17[10]" identifier [ number_literal ])) ;) (expression_statement "iVar4 = puVar17[0xa6];" (assignment_expression "iVar4 = puVar17[0xa6]" identifier = (subscript_expression "puVar17[0xa6]" identifier [ number_literal ])) ;) (expression_statement "iVar5 = *(int *)(iVar27 + 8);" (assignment_expression "iVar5 = *(int *)(iVar27 + 8)" identifier = (pointer_expression "*(int *)(iVar27 + 8)" * (cast_expression "(int *)(iVar27 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 8)" ( (binary_expression "iVar27 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(iVar27 + 0x14);" (assignment_expression "iVar6 = *(int *)(iVar27 + 0x14)" identifier = (pointer_expression "*(int *)(iVar27 + 0x14)" * (cast_expression "(int *)(iVar27 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x14)" ( (binary_expression "iVar27 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(iVar27 + 0x20);" (assignment_expression "iVar7 = *(int *)(iVar27 + 0x20)" identifier = (pointer_expression "*(int *)(iVar27 + 0x20)" * (cast_expression "(int *)(iVar27 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x20)" ( (binary_expression "iVar27 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(iVar27 + 0x28);" (assignment_expression "iVar8 = *(int *)(iVar27 + 0x28)" identifier = (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(iVar27 + 0x34);" (assignment_expression "iVar9 = *(int *)(iVar27 + 0x34)" identifier = (pointer_expression "*(int *)(iVar27 + 0x34)" * (cast_expression "(int *)(iVar27 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x34)" ( (binary_expression "iVar27 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "iVar31 = 8 - uVar20;" (assignment_expression "iVar31 = 8 - uVar20" identifier = (binary_expression "8 - uVar20" number_literal - identifier)) ;) (expression_statement "puVar36 = __s;" (assignment_expression "puVar36 = __s" identifier = identifier) ;) (while_statement "while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }" { (expression_statement "uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));" (assignment_expression "uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f))" identifier = (binary_expression "iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f))" identifier - (parenthesized_expression "(((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f))" ( (binary_expression "((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f)" (parenthesized_expression "((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f))" ( (binary_expression "(uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)" (binary_expression "(uint)(byte)*puVar36" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier) & (binary_expression "iVar22 << ((byte)iVar31 & 0x1f)" identifier << (parenthesized_expression "((byte)iVar31 & 0x1f)" ( (binary_expression "(byte)iVar31 & 0x1f" (cast_expression "(byte)iVar31" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) )) >> (parenthesized_expression "((byte)iVar31 & 0x1f)" ( (binary_expression "(byte)iVar31 & 0x1f" (cast_expression "(byte)iVar31" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )))) ;) (if_statement "if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }" { (expression_statement "*(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;" (assignment_expression "*(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38" (pointer_expression "*(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8)" * (cast_expression "(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + *(int *)(iVar27 + 0x44) * 8)" ( (binary_expression "iVar23 + *(int *)(iVar27 + 0x44) * 8" identifier + (binary_expression "*(int *)(iVar27 + 0x44) * 8" (pointer_expression "*(int *)(iVar27 + 0x44)" * (cast_expression "(int *)(iVar27 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x44)" ( (binary_expression "iVar27 + 0x44" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(double)uVar38" ( (type_descriptor "double" primitive_type) ) identifier)) ;) })) (expression_statement "iVar33 = uVar38 * 0x50 + iVar3;" (assignment_expression "iVar33 = uVar38 * 0x50 + iVar3" identifier = (binary_expression "uVar38 * 0x50 + iVar3" (binary_expression "uVar38 * 0x50" identifier * number_literal) + identifier)) ;) (expression_statement "*(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);" (assignment_expression "*(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20)" (pointer_expression "*(undefined8 *)(iVar23 + iVar5 * 8)" * (cast_expression "(undefined8 *)(iVar23 + iVar5 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + iVar5 * 8)" ( (binary_expression "iVar23 + iVar5 * 8" identifier + (binary_expression "iVar5 * 8" identifier * number_literal)) )))) = (pointer_expression "*(undefined8 *)(iVar33 + 0x20)" * (cast_expression "(undefined8 *)(iVar33 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0x20)" ( (binary_expression "iVar33 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);" (assignment_expression "*(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28)" (pointer_expression "*(undefined8 *)(iVar23 + iVar6 * 8)" * (cast_expression "(undefined8 *)(iVar23 + iVar6 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + iVar6 * 8)" ( (binary_expression "iVar23 + iVar6 * 8" identifier + (binary_expression "iVar6 * 8" identifier * number_literal)) )))) = (pointer_expression "*(undefined8 *)(iVar33 + 0x28)" * (cast_expression "(undefined8 *)(iVar33 + 0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0x28)" ( (binary_expression "iVar33 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);" (assignment_expression "*(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30)" (pointer_expression "*(undefined8 *)(iVar23 + iVar7 * 8)" * (cast_expression "(undefined8 *)(iVar23 + iVar7 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + iVar7 * 8)" ( (binary_expression "iVar23 + iVar7 * 8" identifier + (binary_expression "iVar7 * 8" identifier * number_literal)) )))) = (pointer_expression "*(undefined8 *)(iVar33 + 0x30)" * (cast_expression "(undefined8 *)(iVar33 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0x30)" ( (binary_expression "iVar33 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }" { (expression_statement "*(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);" (assignment_expression "*(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38)" (pointer_expression "*(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8)" * (cast_expression "(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + *(int *)(iVar27 + 0x2c) * 8)" ( (binary_expression "iVar23 + *(int *)(iVar27 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar27 + 0x2c) * 8" (pointer_expression "*(int *)(iVar27 + 0x2c)" * (cast_expression "(int *)(iVar27 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x2c)" ( (binary_expression "iVar27 + 0x2c" identifier + number_literal) )))) * number_literal)) )))) = (pointer_expression "*(undefined8 *)(iVar33 + 0x38)" * (cast_expression "(undefined8 *)(iVar33 + 0x38)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0x38)" ( (binary_expression "iVar33 + 0x38" identifier + number_literal) ))))) ;) })) (if_statement "if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }" { (expression_statement "fVar11 = fVar12;" (assignment_expression "fVar11 = fVar12" identifier = identifier) ;) (if_statement "if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }" if (parenthesized_expression "(*(int *)(iVar33 + 8) != 0)" ( (binary_expression "*(int *)(iVar33 + 8) != 0" (pointer_expression "*(int *)(iVar33 + 8)" * (cast_expression "(int *)(iVar33 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 8)" ( (binary_expression "iVar33 + 8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }" { (expression_statement "fVar11 = (float)*(double *)(iVar33 + 0x40);" (assignment_expression "fVar11 = (float)*(double *)(iVar33 + 0x40)" identifier = (cast_expression "(float)*(double *)(iVar33 + 0x40)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar33 + 0x40)" * (cast_expression "(double *)(iVar33 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0x40)" ( (binary_expression "iVar33 + 0x40" identifier + number_literal) )))))) ;) })) (expression_statement "*(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;" (assignment_expression "*(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11" (pointer_expression "*(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8)" * (cast_expression "(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + *(int *)(iVar27 + 0x38) * 8)" ( (binary_expression "iVar23 + *(int *)(iVar27 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar27 + 0x38) * 8" (pointer_expression "*(int *)(iVar27 + 0x38)" * (cast_expression "(int *)(iVar27 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x38)" ( (binary_expression "iVar27 + 0x38" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(double)fVar11" ( (type_descriptor "double" primitive_type) ) identifier)) ;) })) (if_statement "if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }" if (parenthesized_expression "(iVar31 == 0)" ( (binary_expression "iVar31 == 0" identifier == number_literal) )) (compound_statement "{\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }" { (expression_statement "puVar36 = (ushort *)((int)puVar36 + 1);" (assignment_expression "puVar36 = (ushort *)((int)puVar36 + 1)" identifier = (cast_expression "(ushort *)((int)puVar36 + 1)" ( (type_descriptor "ushort *" 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) )))) ;) (expression_statement "iVar31 = 8 - uVar20;" (assignment_expression "iVar31 = 8 - uVar20" identifier = (binary_expression "8 - uVar20" number_literal - identifier)) ;) }) (else_clause "else {\n                  iVar31 = iVar31 - uVar20;\n                }" else (compound_statement "{\n                  iVar31 = iVar31 - uVar20;\n                }" { (expression_statement "iVar31 = iVar31 - uVar20;" (assignment_expression "iVar31 = iVar31 - uVar20" identifier = (binary_expression "iVar31 - uVar20" identifier - identifier)) ;) }))) (if_statement "if (uVar26 == iVar34 + 1U) break;" if (parenthesized_expression "(uVar26 == iVar34 + 1U)" ( (binary_expression "uVar26 == iVar34 + 1U" identifier == (binary_expression "iVar34 + 1U" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "iVar34 = iVar34 + 1;" (assignment_expression "iVar34 = iVar34 + 1" identifier = (binary_expression "iVar34 + 1" identifier + number_literal)) ;) (expression_statement "iVar23 = iVar23 + iVar4 * 8;" (assignment_expression "iVar23 = iVar23 + iVar4 * 8" identifier = (binary_expression "iVar23 + iVar4 * 8" identifier + (binary_expression "iVar4 * 8" identifier * number_literal))) ;) (if_statement "if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;" if (parenthesized_expression "(uVar19 <= (uint)((int)puVar36 - (int)__s))" ( (binary_expression "uVar19 <= (uint)((int)puVar36 - (int)__s)" identifier <= (call_expression "(uint)((int)puVar36 - (int)__s)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar36 - (int)__s)" ( (binary_expression "(int)puVar36 - (int)__s" (cast_expression "(int)puVar36" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (goto_statement "goto LAB_002628e2;" goto statement_identifier ;)) })) })) (expression_statement "iVar23 = SyncAuthenticPixels(puVar17,param_2);" (assignment_expression "iVar23 = SyncAuthenticPixels(puVar17,param_2)" identifier = (call_expression "SyncAuthenticPixels(puVar17,param_2)" identifier (argument_list "(puVar17,param_2)" ( identifier , identifier )))) ;) (if_statement "if (iVar23 != 0) goto LAB_00262579;" if (parenthesized_expression "(iVar23 != 0)" ( (binary_expression "iVar23 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00262579;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (if_statement "if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }" if (parenthesized_expression "(uVar19 * 2 < uVar26)" ( (binary_expression "uVar19 * 2 < uVar26" (binary_expression "uVar19 * 2" identifier * number_literal) < identifier) )) (compound_statement "{\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }" { (expression_statement "RelinquishMagickMemory(__s);" (call_expression "RelinquishMagickMemory(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (if_statement "if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }" if (parenthesized_expression "(uVar21 == 0)" ( (binary_expression "uVar21 == 0" identifier == number_literal) )) (compound_statement "{\n              RelinquishMagickMemory(local_b0);\n            }" { (expression_statement "RelinquishMagickMemory(local_b0);" (call_expression "RelinquishMagickMemory(local_b0)" identifier (argument_list "(local_b0)" ( identifier ))) ;) })) (expression_statement "pcVar47 = "CorruptImage";" (assignment_expression "pcVar47 = "CorruptImage"" identifier = (string_literal ""CorruptImage"" " string_content ")) ;) (expression_statement "uVar46 = 0x1a9;" (assignment_expression "uVar46 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar45 = 0x1ec;" (assignment_expression "uVar45 = 0x1ec" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (if_statement "if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }" if (parenthesized_expression "(uVar26 == 0)" ( (binary_expression "uVar26 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }" { (labeled_statement "LAB_00262579:\n            iVar23 = puVar17[0xccf];" statement_identifier : (expression_statement "iVar23 = puVar17[0xccf];" (assignment_expression "iVar23 = puVar17[0xccf]" identifier = (subscript_expression "puVar17[0xccf]" identifier [ number_literal ])) ;)) (expression_statement "iVar27 = puVar17[7];" (assignment_expression "iVar27 = puVar17[7]" identifier = (subscript_expression "puVar17[7]" identifier [ number_literal ])) ;) }) (else_clause "else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }" else (compound_statement "{\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }" { (expression_statement "iVar27 = puVar17[0xaa];" (assignment_expression "iVar27 = puVar17[0xaa]" identifier = (subscript_expression "puVar17[0xaa]" identifier [ number_literal ])) ;) (expression_statement "iVar2 = puVar17[0xa6];" (assignment_expression "iVar2 = puVar17[0xa6]" identifier = (subscript_expression "puVar17[0xa6]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = *(int *)(iVar27 + 0x14);" (assignment_expression "iVar3 = *(int *)(iVar27 + 0x14)" identifier = (pointer_expression "*(int *)(iVar27 + 0x14)" * (cast_expression "(int *)(iVar27 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x14)" ( (binary_expression "iVar27 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(iVar27 + 8);" (assignment_expression "iVar4 = *(int *)(iVar27 + 8)" identifier = (pointer_expression "*(int *)(iVar27 + 8)" * (cast_expression "(int *)(iVar27 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 8)" ( (binary_expression "iVar27 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(iVar27 + 0x20);" (assignment_expression "iVar5 = *(int *)(iVar27 + 0x20)" identifier = (pointer_expression "*(int *)(iVar27 + 0x20)" * (cast_expression "(int *)(iVar27 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x20)" ( (binary_expression "iVar27 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }" if (parenthesized_expression "(*(int *)(iVar27 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar27 + 0x34) != 0" (pointer_expression "*(int *)(iVar27 + 0x34)" * (cast_expression "(int *)(iVar27 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x34)" ( (binary_expression "iVar27 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }" { (expression_statement "iVar27 = *(int *)(iVar27 + 0x38);" (assignment_expression "iVar27 = *(int *)(iVar27 + 0x38)" identifier = (pointer_expression "*(int *)(iVar27 + 0x38)" * (cast_expression "(int *)(iVar27 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x38)" ( (binary_expression "iVar27 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "puVar36 = __s;" (assignment_expression "puVar36 = __s" identifier = identifier) ;) (do_statement "do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);" do (compound_statement "{\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              }" { (expression_statement "fVar11 = DAT_00306a38;" (assignment_expression "fVar11 = DAT_00306a38" identifier = identifier) ;) (expression_statement "puVar32 = puVar36 + 1;" (assignment_expression "puVar32 = puVar36 + 1" identifier = (binary_expression "puVar36 + 1" identifier + number_literal)) ;) (expression_statement "uVar16 = *puVar36 << 8;" (assignment_expression "uVar16 = *puVar36 << 8" identifier = (binary_expression "*puVar36 << 8" (pointer_expression "*puVar36" * identifier) << number_literal)) ;) (expression_statement "uVar10 = *puVar36 >> 8;" (assignment_expression "uVar10 = *puVar36 >> 8" identifier = (binary_expression "*puVar36 >> 8" (pointer_expression "*puVar36" * identifier) >> number_literal)) ;) (expression_statement "*(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);" (assignment_expression "*(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38)" (pointer_expression "*(double *)(iVar23 + iVar4 * 8)" * (cast_expression "(double *)(iVar23 + iVar4 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + iVar4 * 8)" ( (binary_expression "iVar23 + iVar4 * 8" identifier + (binary_expression "iVar4 * 8" identifier * number_literal)) )))) = (cast_expression "(double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38)" ( (binary_expression "((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38" (parenthesized_expression "((float)(uVar16 >> 0xb) * fVar12)" ( (binary_expression "(float)(uVar16 >> 0xb) * fVar12" (cast_expression "(float)(uVar16 >> 0xb)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(uVar16 >> 0xb)" ( (binary_expression "uVar16 >> 0xb" identifier >> number_literal) ))) * identifier) )) / identifier) )))) ;) (expression_statement "*(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);" (assignment_expression "*(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4)" (pointer_expression "*(double *)(iVar23 + iVar3 * 8)" * (cast_expression "(double *)(iVar23 + iVar3 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + iVar3 * 8)" ( (binary_expression "iVar23 + iVar3 * 8" identifier + (binary_expression "iVar3 * 8" identifier * number_literal)) )))) = (cast_expression "(double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4)" ( (binary_expression "((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4" (parenthesized_expression "((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12)" ( (binary_expression "(float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12" (cast_expression "(float)((uVar16 | uVar10) >> 5 & 0x3f)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((uVar16 | uVar10) >> 5 & 0x3f)" ( (binary_expression "(uVar16 | uVar10) >> 5 & 0x3f" (binary_expression "(uVar16 | uVar10) >> 5" (parenthesized_expression "(uVar16 | uVar10)" ( (binary_expression "uVar16 | uVar10" identifier | identifier) )) >> number_literal) & number_literal) ))) * identifier) )) / identifier) )))) ;) (expression_statement "*(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);" (assignment_expression "*(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11)" (pointer_expression "*(double *)(iVar23 + iVar5 * 8)" * (cast_expression "(double *)(iVar23 + iVar5 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + iVar5 * 8)" ( (binary_expression "iVar23 + iVar5 * 8" identifier + (binary_expression "iVar5 * 8" identifier * number_literal)) )))) = (cast_expression "(double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(((float)(uVar10 & 0x1f) * fVar12) / fVar11)" ( (binary_expression "((float)(uVar10 & 0x1f) * fVar12) / fVar11" (parenthesized_expression "((float)(uVar10 & 0x1f) * fVar12)" ( (binary_expression "(float)(uVar10 & 0x1f) * fVar12" (cast_expression "(float)(uVar10 & 0x1f)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(uVar10 & 0x1f)" ( (binary_expression "uVar10 & 0x1f" identifier & number_literal) ))) * identifier) )) / identifier) )))) ;) (expression_statement "*(double *)(iVar23 + iVar27 * 8) = (double)fVar12;" (assignment_expression "*(double *)(iVar23 + iVar27 * 8) = (double)fVar12" (pointer_expression "*(double *)(iVar23 + iVar27 * 8)" * (cast_expression "(double *)(iVar23 + iVar27 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + iVar27 * 8)" ( (binary_expression "iVar23 + iVar27 * 8" identifier + (binary_expression "iVar27 * 8" identifier * number_literal)) )))) = (cast_expression "(double)fVar12" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "iVar23 = iVar23 + iVar2 * 8;" (assignment_expression "iVar23 = iVar23 + iVar2 * 8" identifier = (binary_expression "iVar23 + iVar2 * 8" identifier + (binary_expression "iVar2 * 8" identifier * number_literal))) ;) (expression_statement "puVar36 = puVar32;" (assignment_expression "puVar36 = puVar32" identifier = identifier) ;) }) while (parenthesized_expression "(puVar32 != __s + uVar26)" ( (binary_expression "puVar32 != __s + uVar26" identifier != (binary_expression "__s + uVar26" identifier + identifier)) )) ;) (goto_statement "goto LAB_00262579;" goto statement_identifier ;) })) (expression_statement "pdVar25 = (double *)(iVar23 + iVar4 * 8);" (assignment_expression "pdVar25 = (double *)(iVar23 + iVar4 * 8)" identifier = (cast_expression "(double *)(iVar23 + iVar4 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + iVar4 * 8)" ( (binary_expression "iVar23 + iVar4 * 8" identifier + (binary_expression "iVar4 * 8" identifier * number_literal)) )))) ;) (expression_statement "puVar36 = __s;" (assignment_expression "puVar36 = __s" identifier = identifier) ;) (do_statement "do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);" do (compound_statement "{\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            }" { (expression_statement "fVar11 = DAT_00306a38;" (assignment_expression "fVar11 = DAT_00306a38" identifier = identifier) ;) (expression_statement "puVar32 = puVar36 + 1;" (assignment_expression "puVar32 = puVar36 + 1" identifier = (binary_expression "puVar36 + 1" identifier + number_literal)) ;) (expression_statement "uVar16 = *puVar36 << 8;" (assignment_expression "uVar16 = *puVar36 << 8" identifier = (binary_expression "*puVar36 << 8" (pointer_expression "*puVar36" * identifier) << number_literal)) ;) (expression_statement "uVar10 = *puVar36 >> 8;" (assignment_expression "uVar10 = *puVar36 >> 8" identifier = (binary_expression "*puVar36 >> 8" (pointer_expression "*puVar36" * identifier) >> number_literal)) ;) (expression_statement "*pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);" (assignment_expression "*pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38)" (pointer_expression "*pdVar25" * identifier) = (cast_expression "(double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38)" ( (binary_expression "((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38" (parenthesized_expression "((float)(uVar16 >> 0xb) * fVar12)" ( (binary_expression "(float)(uVar16 >> 0xb) * fVar12" (cast_expression "(float)(uVar16 >> 0xb)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(uVar16 >> 0xb)" ( (binary_expression "uVar16 >> 0xb" identifier >> number_literal) ))) * identifier) )) / identifier) )))) ;) (expression_statement "pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);" (assignment_expression "pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4)" (subscript_expression "pdVar25[iVar3 - iVar4]" identifier [ (binary_expression "iVar3 - iVar4" identifier - identifier) ]) = (cast_expression "(double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4)" ( (binary_expression "((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4" (parenthesized_expression "((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12)" ( (binary_expression "(float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12" (cast_expression "(float)((uVar16 | uVar10) >> 5 & 0x3f)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((uVar16 | uVar10) >> 5 & 0x3f)" ( (binary_expression "(uVar16 | uVar10) >> 5 & 0x3f" (binary_expression "(uVar16 | uVar10) >> 5" (parenthesized_expression "(uVar16 | uVar10)" ( (binary_expression "uVar16 | uVar10" identifier | identifier) )) >> number_literal) & number_literal) ))) * identifier) )) / identifier) )))) ;) (expression_statement "pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);" (assignment_expression "pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11)" (subscript_expression "pdVar25[iVar5 - iVar4]" identifier [ (binary_expression "iVar5 - iVar4" identifier - identifier) ]) = (cast_expression "(double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(((float)(uVar10 & 0x1f) * fVar12) / fVar11)" ( (binary_expression "((float)(uVar10 & 0x1f) * fVar12) / fVar11" (parenthesized_expression "((float)(uVar10 & 0x1f) * fVar12)" ( (binary_expression "(float)(uVar10 & 0x1f) * fVar12" (cast_expression "(float)(uVar10 & 0x1f)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(uVar10 & 0x1f)" ( (binary_expression "uVar10 & 0x1f" identifier & number_literal) ))) * identifier) )) / identifier) )))) ;) (expression_statement "pdVar25 = pdVar25 + iVar2;" (assignment_expression "pdVar25 = pdVar25 + iVar2" identifier = (binary_expression "pdVar25 + iVar2" identifier + identifier)) ;) (expression_statement "puVar36 = puVar32;" (assignment_expression "puVar36 = puVar32" identifier = identifier) ;) }) while (parenthesized_expression "(__s + uVar26 != puVar32)" ( (binary_expression "__s + uVar26 != puVar32" (binary_expression "__s + uVar26" identifier + identifier) != identifier) )) ;) (expression_statement "iVar23 = puVar17[0xccf];" (assignment_expression "iVar23 = puVar17[0xccf]" identifier = (subscript_expression "puVar17[0xccf]" identifier [ number_literal ])) ;) (expression_statement "iVar27 = puVar17[7];" (assignment_expression "iVar27 = puVar17[7]" identifier = (subscript_expression "puVar17[7]" identifier [ number_literal ])) ;) }))) (if_statement "if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }" if (parenthesized_expression "(iVar23 == 0)" ( (binary_expression "iVar23 == 0" identifier == number_literal) )) (compound_statement "{\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }" { (expression_statement "local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);" (assignment_expression "local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0)" identifier = (call_expression "SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0)" identifier (argument_list "(puVar17,"Load/Image",local_ac,local_a8,iVar27,0)" ( identifier , (string_literal ""Load/Image"" " string_content ") , identifier , identifier , identifier , number_literal )))) ;) (if_statement "if (local_9c == 0) break;" if (parenthesized_expression "(local_9c == 0)" ( (binary_expression "local_9c == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar27 = puVar17[7];" (assignment_expression "iVar27 = puVar17[7]" identifier = (subscript_expression "puVar17[7]" identifier [ number_literal ])) ;) })) (expression_statement "local_c8 = local_c8 + 1;" (assignment_expression "local_c8 = local_c8 + 1" identifier = (binary_expression "local_c8 + 1" identifier + number_literal)) ;) (expression_statement "bVar40 = 0xfffffffe < local_ac;" (assignment_expression "bVar40 = 0xfffffffe < local_ac" identifier = (binary_expression "0xfffffffe < local_ac" number_literal < identifier)) ;) (expression_statement "local_ac = local_ac + 1;" (assignment_expression "local_ac = local_ac + 1" identifier = (binary_expression "local_ac + 1" identifier + number_literal)) ;) (expression_statement "local_a8 = local_a8 + (uint)bVar40;" (assignment_expression "local_a8 = local_a8 + (uint)bVar40" identifier = (binary_expression "local_a8 + (uint)bVar40" identifier + (cast_expression "(uint)bVar40" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }) while (parenthesized_expression "(local_c8 < iVar27)" ( (binary_expression "local_c8 < iVar27" identifier < identifier) )) ;) })) (if_statement "if ((uVar14 & 0x2000) != 0) {\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }" if (parenthesized_expression "((uVar14 & 0x2000) != 0)" ( (binary_expression "(uVar14 & 0x2000) != 0" (parenthesized_expression "(uVar14 & 0x2000)" ( (binary_expression "uVar14 & 0x2000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }" { (expression_statement "iVar22 = iVar22 - iVar18;" (assignment_expression "iVar22 = iVar22 - iVar18" identifier = (binary_expression "iVar22 - iVar18" identifier - identifier)) ;) (if_statement "if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }" if (parenthesized_expression "(((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9))" ( (binary_expression "((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)" (parenthesized_expression "((iVar22 < 0) || ((int)puVar17[9] <= iVar22))" ( (binary_expression "(iVar22 < 0) || ((int)puVar17[9] <= iVar22)" (parenthesized_expression "(iVar22 < 0)" ( (binary_expression "iVar22 < 0" identifier < number_literal) )) || (parenthesized_expression "((int)puVar17[9] <= iVar22)" ( (binary_expression "(int)puVar17[9] <= iVar22" (cast_expression "(int)puVar17[9]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar17[9]" identifier [ number_literal ])) <= identifier) ))) )) && (parenthesized_expression "(iVar22 = 0, *param_2 != 0x1a9)" ( (comma_expression "iVar22 = 0, *param_2 != 0x1a9" (assignment_expression "iVar22 = 0" identifier = number_literal) , (binary_expression "*param_2 != 0x1a9" (pointer_expression "*param_2" * identifier) != number_literal)) ))) )) (compound_statement "{\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }" { (expression_statement "ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);" (call_expression "ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6)" identifier (argument_list "(param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6)" ( identifier , (string_literal ""./MagickCore/colormap-private.h"" " string_content ") , (string_literal ""ConstrainColormapIndex"" " string_content ") , number_literal , number_literal , (string_literal ""InvalidColormapIndex"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (binary_expression "puVar17 + 0xc6" identifier + number_literal) ))) ;) })) (if_statement "if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }" if (parenthesized_expression "(uVar20 != 0x10)" ( (binary_expression "uVar20 != 0x10" identifier != number_literal) )) (compound_statement "{\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }" { (expression_statement "puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);" (assignment_expression "puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10])" identifier = (cast_expression "(undefined4 *)(iVar22 * 0x50 + puVar17[10])" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 * 0x50 + puVar17[10])" ( (binary_expression "iVar22 * 0x50 + puVar17[10]" (binary_expression "iVar22 * 0x50" identifier * number_literal) + (subscript_expression "puVar17[10]" identifier [ number_literal ])) )))) ;) (expression_statement "puVar39 = local_a0;" (assignment_expression "puVar39 = local_a0" identifier = identifier) ;) (for_statement "for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }" for ( (assignment_expression "iVar18 = 0x14" identifier = number_literal) ; (binary_expression "iVar18 != 0" identifier != number_literal) ; (assignment_expression "iVar18 = iVar18 + -1" identifier = (binary_expression "iVar18 + -1" identifier + number_literal)) ) (compound_statement "{\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }" { (expression_statement "*puVar39 = *puVar24;" (assignment_expression "*puVar39 = *puVar24" (pointer_expression "*puVar39" * identifier) = (pointer_expression "*puVar24" * identifier)) ;) (expression_statement "puVar24 = puVar24 + (uint)bVar41 * -2 + 1;" (assignment_expression "puVar24 = puVar24 + (uint)bVar41 * -2 + 1" identifier = (binary_expression "puVar24 + (uint)bVar41 * -2 + 1" (binary_expression "puVar24 + (uint)bVar41 * -2" identifier + (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar39 = puVar39 + (uint)bVar41 * -2 + 1;" (assignment_expression "puVar39 = puVar39 + (uint)bVar41 * -2 + 1" identifier = (binary_expression "puVar39 + (uint)bVar41 * -2 + 1" (binary_expression "puVar39 + (uint)bVar41 * -2" identifier + (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) })) (expression_statement "TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);" (call_expression "TransparentPaintImage(puVar17,local_a0,0,0,0,param_2)" identifier (argument_list "(puVar17,local_a0,0,0,0,param_2)" ( identifier , identifier , number_literal , number_literal , number_literal , identifier ))) ;) })) (expression_statement "RelinquishMagickMemory(__s);" (call_expression "RelinquishMagickMemory(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (if_statement "if (uVar21 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }" if (parenthesized_expression "(uVar21 == 0)" ( (binary_expression "uVar21 == 0" identifier == number_literal) )) (compound_statement "{\n        RelinquishMagickMemory(local_b0);\n      }" { (expression_statement "RelinquishMagickMemory(local_b0);" (call_expression "RelinquishMagickMemory(local_b0)" identifier (argument_list "(local_b0)" ( identifier ))) ;) })) (expression_statement "iVar18 = EOFBlob(puVar17);" (assignment_expression "iVar18 = EOFBlob(puVar17)" identifier = (call_expression "EOFBlob(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (if_statement "if (iVar18 != 0) {\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }" { (expression_statement "piVar30 = __errno_location();" (assignment_expression "piVar30 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar45 = GetExceptionMessage(*piVar30);" (assignment_expression "uVar45 = GetExceptionMessage(*piVar30)" identifier = (call_expression "GetExceptionMessage(*piVar30)" identifier (argument_list "(*piVar30)" ( (pointer_expression "*piVar30" * identifier) )))) ;) (expression_statement "ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);" (call_expression "ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45)" identifier (argument_list "(param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45)" ( identifier , (string_literal ""coders/palm.c"" " string_content ") , (string_literal ""ReadPALMImage"" " 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 "puVar17 + 0xc6" identifier + number_literal) , identifier ))) ;) (expression_statement "DestroyString(uVar45);" (call_expression "DestroyString(uVar45)" identifier (argument_list "(uVar45)" ( identifier ))) ;) (labeled_statement "LAB_0026266b:\n        CloseBlob(puVar17);" statement_identifier : (expression_statement "CloseBlob(puVar17);" (call_expression "CloseBlob(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;)) (if_statement "if (local_9c == 0) goto LAB_00262f23;" if (parenthesized_expression "(local_9c == 0)" ( (binary_expression "local_9c == 0" identifier == number_literal) )) (goto_statement "goto LAB_00262f23;" goto statement_identifier ;)) (expression_statement "puVar24 = (undefined4 *)GetFirstImageInList(puVar17);" (assignment_expression "puVar24 = (undefined4 *)GetFirstImageInList(puVar17)" identifier = (cast_expression "(undefined4 *)GetFirstImageInList(puVar17)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetFirstImageInList(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))))) ;) (goto_statement "goto LAB_002621b8;" goto statement_identifier ;) })) (if_statement "if (((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)) goto LAB_0026266b;" if (parenthesized_expression "(((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0))" ( (binary_expression "((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)" (parenthesized_expression "((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91]))" ( (binary_expression "(*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])" (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)puVar17[0x91])" ( (binary_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[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)puVar17[0x91]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar17[0x91]" identifier [ number_literal ]))) ))) )) || (parenthesized_expression "(uVar15 == 0)" ( (binary_expression "uVar15 == 0" identifier == number_literal) ))) )) (goto_statement "goto LAB_0026266b;" goto statement_identifier ;)) (expression_statement "uVar19 = (uint)uVar15 * 4;" (assignment_expression "uVar19 = (uint)uVar15 * 4" identifier = (binary_expression "(uint)uVar15 * 4" (cast_expression "(uint)uVar15" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) ;) (expression_statement "bVar40 = CARRY4(local_94,uVar19);" (assignment_expression "bVar40 = CARRY4(local_94,uVar19)" identifier = (call_expression "CARRY4(local_94,uVar19)" identifier (argument_list "(local_94,uVar19)" ( identifier , identifier )))) ;) (expression_statement "local_94 = local_94 + uVar19;" (assignment_expression "local_94 = local_94 + uVar19" identifier = (binary_expression "local_94 + uVar19" identifier + identifier)) ;) (expression_statement "local_90 = local_90 + (uint)bVar40;" (assignment_expression "local_90 = local_90 + (uint)bVar40" identifier = (binary_expression "local_90 + (uint)bVar40" identifier + (cast_expression "(uint)bVar40" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "lVar44 = GetBlobSize(puVar17);" (assignment_expression "lVar44 = GetBlobSize(puVar17)" identifier = (call_expression "GetBlobSize(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (if_statement "if (lVar44 <= CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }" if (parenthesized_expression "(lVar44 <= CONCAT44(local_90,local_94))" ( (binary_expression "lVar44 <= CONCAT44(local_90,local_94)" identifier <= (call_expression "CONCAT44(local_90,local_94)" identifier (argument_list "(local_90,local_94)" ( identifier , identifier )))) )) (compound_statement "{\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }" { (expression_statement "pcVar47 = "ImproperImageHeader";" (assignment_expression "pcVar47 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar46 = 0x1a9;" (assignment_expression "uVar46 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar45 = 0x23e;" (assignment_expression "uVar45 = 0x23e" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "lVar44 = SeekBlob(puVar17,local_94,local_90,0);" (assignment_expression "lVar44 = SeekBlob(puVar17,local_94,local_90,0)" identifier = (call_expression "SeekBlob(puVar17,local_94,local_90,0)" identifier (argument_list "(puVar17,local_94,local_90,0)" ( identifier , identifier , identifier , number_literal )))) ;) (if_statement "if (lVar44 != CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }" if (parenthesized_expression "(lVar44 != CONCAT44(local_90,local_94))" ( (binary_expression "lVar44 != CONCAT44(local_90,local_94)" identifier != (call_expression "CONCAT44(local_90,local_94)" identifier (argument_list "(local_90,local_94)" ( identifier , identifier )))) )) (compound_statement "{\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }" { (expression_statement "pcVar47 = "ImproperImageHeader";" (assignment_expression "pcVar47 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar46 = 0x1a9;" (assignment_expression "uVar46 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar45 = 0x242;" (assignment_expression "uVar45 = 0x242" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "AcquireNextImage(param_1,puVar17,param_2);" (call_expression "AcquireNextImage(param_1,puVar17,param_2)" identifier (argument_list "(param_1,puVar17,param_2)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar18 = GetNextImageInList(puVar17);" (assignment_expression "iVar18 = GetNextImageInList(puVar17)" identifier = (call_expression "GetNextImageInList(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (if_statement "if (iVar18 == 0) break;" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar17 = (undefined4 *)SyncNextImageInList(puVar17);" (assignment_expression "puVar17 = (undefined4 *)SyncNextImageInList(puVar17)" identifier = (cast_expression "(undefined4 *)SyncNextImageInList(puVar17)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "SyncNextImageInList(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))))) ;) (expression_statement "uVar42 = GetBlobSize(puVar17);" (assignment_expression "uVar42 = GetBlobSize(puVar17)" identifier = (call_expression "GetBlobSize(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "uVar43 = TellBlob(puVar17);" (assignment_expression "uVar43 = TellBlob(puVar17)" identifier = (call_expression "TellBlob(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42);" (assignment_expression "iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42)" identifier = (call_expression "SetImageProgress(puVar17,"Load/Images",uVar43,uVar42)" identifier (argument_list "(puVar17,"Load/Images",uVar43,uVar42)" ( identifier , (string_literal ""Load/Images"" " string_content ") , identifier , identifier )))) ;) }) while (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) ;) (expression_statement "CloseBlob(puVar17);" (call_expression "CloseBlob(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;) (labeled_statement "LAB_00262f23:\n    puVar24 = (undefined4 *)DestroyImageList(puVar17);" statement_identifier : (expression_statement "puVar24 = (undefined4 *)DestroyImageList(puVar17);" (assignment_expression "puVar24 = (undefined4 *)DestroyImageList(puVar17)" identifier = (cast_expression "(undefined4 *)DestroyImageList(puVar17)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "DestroyImageList(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))))) ;)) }))) (labeled_statement "LAB_002621b8:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002decd0();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002decd0();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_002decd0();\n  }" { comment (expression_statement "FUN_002decd0();" (call_expression "FUN_002decd0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return puVar24;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Removing unreachable block (ram,0x00262e8d) */\n/* WARNING: Unknown calling convention */\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\nImage * ReadPALMImage(ImageInfo *image_info,ExceptionInfo *exception)\n\n{\n  double dVar1;\n  int iVar2;\n  PixelChannelMap *pPVar3;\n  PixelTrait PVar4;\n  int iVar5;\n  PixelTrait PVar6;\n  PixelTrait PVar7;\n  _Image *p_Var8;\n  ushort uVar9;\n  float fVar10;\n  float fVar11;\n  ushort uVar12;\n  ushort uVar13;\n  ushort uVar14;\n  Image *image;\n  MagickBooleanType MVar15;\n  int iVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  ushort *__s;\n  int iVar20;\n  Quantum *pQVar21;\n  Image *pIVar22;\n  double *pdVar23;\n  uint uVar24;\n  int iVar25;\n  int iVar26;\n  byte *__s_00;\n  size_t sVar27;\n  int *piVar28;\n  int iVar29;\n  ushort *puVar30;\n  int iVar31;\n  uint uVar32;\n  ushort *puVar33;\n  PixelInfo *pPVar34;\n  uchar (*pauVar35) [3];\n  uchar (*pauVar36) [3];\n  size_t __n;\n  uint uVar37;\n  PixelInfo *pPVar38;\n  int in_GS_OFFSET;\n  bool bVar39;\n  byte bVar40;\n  MagickOffsetType MVar41;\n  MagickSizeType MVar42;\n  size_t sVar43;\n  ExceptionType severity;\n  char *pcVar44;\n  int local_10c;\n  int local_f4;\n  int local_c8;\n  void *local_b0;\n  uint local_ac;\n  int local_a8;\n  PixelInfo *local_a0;\n  MagickBooleanType local_9c;\n  uint local_94;\n  int local_90;\n  PixelInfo transpix;\n  \n  bVar40 = 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/palm.c",0x124,"ReadPALMImage");\n  }\n  if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,\n                  "ReadPALMImage");\n  }\n  if (image_info->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"coders/palm.c","ReadPALMImage",0x127,"%s",image_info->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage");\n  }\n  if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage");\n  }\n  image = AcquireImage(image_info,exception);\n  MVar15 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);\n  local_94 = 0;\n  local_90 = 0;\n  if (MVar15 == MagickFalse) {\n    pIVar22 = (Image *)0x0;\n    DestroyImageList(image);\n  }\n  else {\n    do {\n      uVar12 = ReadBlobMSBShort(image);\n      image->columns = (uint)uVar12;\n      uVar12 = ReadBlobMSBShort(image);\n      image->rows = (uint)uVar12;\n      iVar16 = EOFBlob(image);\n      if (iVar16 != 0) {\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (exception,"coders/palm.c","ReadPALMImage",sVar43,severity,pcVar44,"`%s\'",\n                   image_info->filename);\n        CloseBlob(image);\n        DestroyImageList(image);\n        pIVar22 = (Image *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((image->columns == 0) || (image->rows == 0)) {\n        pcVar44 = "NegativeOrZeroImageSize";\n        severity = CorruptImageError;\n        sVar43 = 0x13a;\n        goto LAB_0026218b;\n      }\n      MVar15 = SetImageExtent(image,image->columns,image->rows,exception);\n      if (MVar15 == MagickFalse) goto LAB_00262f23;\n      SetImageBackgroundColor(image,exception);\n      uVar12 = ReadBlobMSBShort(image);\n      uVar17 = (uint)uVar12;\n      uVar12 = ReadBlobMSBShort(image);\n      uVar18 = ReadBlobByte(image);\n      if ((0x10 < uVar18) || ((0x10116U >> (uVar18 & 0x1f) & 1) == 0)) {\n        pcVar44 = "UnsupportedBitsPerPixel";\n        severity = CorruptImageError;\n        sVar43 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar19 = ReadBlobByte(image);\n      if (2 < uVar19) {\n        pcVar44 = "FileFormatVersionMismatch";\n        severity = CorruptImageError;\n        sVar43 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar13 = ReadBlobMSBShort(image);\n      iVar16 = ReadBlobByte(image);\n      uVar19 = ReadBlobByte(image);\n      if ((uVar19 != 0xff) && (1 < uVar19)) {\n        pcVar44 = "UnrecognizedImageCompression";\n        severity = CorruptImageError;\n        sVar43 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(image);\n      if (uVar18 == 0x10) {\n        GetPixelInfo(image,&transpix);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        iVar20 = ReadBlobByte(image);\n        fVar10 = DAT_00306a38;\n        fVar11 = DAT_002df8a8;\n        transpix.red = (MagickRealType)((DAT_002df8a8 * (float)iVar20) / DAT_00306a38);\n        iVar20 = ReadBlobByte(image);\n        transpix.green = (MagickRealType)(((float)iVar20 * fVar11) / DAT_0030d3a4);\n        iVar20 = ReadBlobByte(image);\n        transpix.blue = (MagickRealType)(((float)iVar20 * fVar11) / fVar10);\n        if ((short)uVar12 < 0) goto LAB_00262c40;\n        image->storage_class = DirectClass;\n      }\n      else {\n        MVar15 = AcquireImageColormap(image,1 << ((byte)uVar18 & 0x1f),exception);\n        if (MVar15 == MagickFalse) {\n          pcVar44 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar43 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(image,&transpix);\n        if (uVar18 == 8) {\n          if ((uVar12 & 0x4000) == 0) {\n            iVar20 = 0xff;\n            pauVar36 = PalmPalette;\n            do {\n              if (iVar20 < (int)image->colors) {\n                local_10c = iVar20 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (exception->severity != CorruptImageError) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                             0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n                }\n              }\n              fVar11 = DAT_002e814c;\n              pPVar34 = image->colormap;\n              pauVar35 = pauVar36 + 1;\n              iVar20 = iVar20 + -1;\n              *(double *)((int)&pPVar34->red + local_10c) =\n                   (double)((float)(*pauVar36)[0] * DAT_002e814c);\n              *(double *)((int)&pPVar34->green + local_10c) =\n                   (double)((float)(*pauVar36)[1] * fVar11);\n              *(double *)((int)&pPVar34->blue + local_10c) =\n                   (double)((float)(*pauVar36)[2] * fVar11);\n              pauVar36 = pauVar35;\n            } while (pauVar35 != (uchar (*) [3])"Pango Markup Language");\n          }\n          else {\n            uVar14 = ReadBlobMSBShort(image);\n            if (uVar14 != 0) {\n              iVar20 = 0xff;\n              do {\n                ReadBlobByte(image);\n                if ((iVar20 < 0) || ((int)image->colors <= iVar20)) {\n                  iVar25 = 0;\n                  if (exception->severity != CorruptImageError) {\n                    ThrowMagickException\n                              (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename\n                              );\n                  }\n                }\n                else {\n                  iVar25 = iVar20 * 0x50;\n                }\n                iVar20 = iVar20 + -1;\n                uVar24 = ReadBlobByte(image);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)((int)&image->colormap->red + iVar25) =\n                     (double)((float)(uVar24 & 0xff) * DAT_002e814c);\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->green + iVar25) = dVar1 * (double)(uVar24 & 0xff)\n                ;\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->blue + iVar25) = dVar1 * (double)(uVar24 & 0xff);\n              } while (0xff - (uint)uVar14 != iVar20);\n            }\n          }\n          if ((short)uVar12 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar12 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(image);\n          }\n          image->storage_class = DirectClass;\n          if (uVar18 == 0x10) goto LAB_002622bf;\n        }\n        image->storage_class = PseudoClass;\n        image->depth = 8;\n      }\nLAB_002622bf:\n      local_a0 = &transpix;\n      if (image_info->ping != MagickFalse) {\n        CloseBlob(image);\n        pIVar22 = image;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(image,image->columns,image->rows,exception);\n      if (local_9c == MagickFalse) goto LAB_00262f23;\n      uVar24 = image->columns * 2;\n      if (uVar24 < uVar17) {\n        uVar24 = uVar17;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar24,1);\n      if (__s == (ushort *)0x0) {\n        pcVar44 = "MemoryAllocationFailed";\n        severity = ErrorException;\n        sVar43 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar24);\n      local_b0 = (void *)0x0;\n      if (uVar19 == 0) {\n        uVar24 = image->columns * 2;\n        if (uVar24 < uVar17) {\n          uVar24 = uVar17;\n        }\n        local_b0 = AcquireQuantumMemory(uVar24,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar44 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar43 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar24 = image->columns * 2;\n        if (uVar24 < uVar17) {\n          uVar24 = uVar17;\n        }\n        memset(local_b0,0,uVar24);\n      }\n      iVar20 = (1 << ((byte)uVar18 & 0x1f)) + -1;\n      if (0 < (int)image->rows) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar12 < 0) {\n            if (uVar19 == 1) {\n              image->compression = RLECompression;\n              if (uVar17 != 0) {\n                iVar25 = 0;\n                do {\n                  sVar27 = ReadBlobByte(image);\n                  if ((int)sVar27 < 0) break;\n                  __n = uVar17 - iVar25;\n                  if ((int)sVar27 < (int)(uVar17 - iVar25)) {\n                    __n = sVar27;\n                  }\n                  iVar26 = ReadBlobByte(image);\n                  __s_00 = (byte *)((int)__s + iVar25);\n                  iVar25 = iVar25 + __n;\n                  memset(__s_00,iVar26,__n);\n                } while (iVar25 < (int)uVar17);\n              }\n            }\n            else if (uVar19 == 0) {\n              image->compression = FaxCompression;\n              if (uVar17 != 0) {\n                local_f4 = 0;\n                puVar33 = __s;\n                do {\n                  uVar24 = ReadBlobByte(image);\n                  if ((int)uVar24 < 0) break;\n                  uVar37 = uVar17 - local_f4;\n                  if ((int)uVar37 < 8) {\n                    if (uVar37 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar37 = 8;\nLAB_002629c0:\n                    uVar32 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                    else {\n                      uVar32 = 0;\n                      do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar33 = puVar33 + 4;\n                } while (local_f4 != (uVar17 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar17);\n            }\n          }\n          else {\n            image->compression = NoCompression;\n            uVar24 = ReadBlob(image,uVar17,__s);\n            if (uVar24 != uVar17) break;\n          }\n          pQVar21 = QueueAuthenticPixels(image,0,local_c8,image->columns,1,exception);\n          fVar11 = DAT_002df8a8;\n          if (pQVar21 == (Quantum *)0x0) break;\n          uVar24 = image->columns;\n          if (uVar18 != 0x10) {\n            if (0 < (int)uVar24) {\n              if (uVar17 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar19 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar44 = "CorruptImage";\n                severity = CorruptImageError;\n                sVar43 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar31 = 0;\n              pPVar3 = image->channel_map;\n              PVar4 = pPVar3[5].traits;\n              pPVar34 = image->colormap;\n              sVar43 = image->number_channels;\n              iVar25 = pPVar3->offset;\n              iVar26 = pPVar3[1].offset;\n              iVar5 = pPVar3[2].offset;\n              PVar6 = pPVar3[3].traits;\n              PVar7 = pPVar3[4].traits;\n              iVar29 = 8 - uVar18;\n              puVar33 = __s;\n              while( true ) {\n                uVar37 = iVar20 - (((uint)(byte)*puVar33 & iVar20 << ((byte)iVar29 & 0x1f)) >>\n                                  ((byte)iVar29 & 0x1f));\n                if (PVar4 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[5].offset] = (double)uVar37;\n                }\n                pQVar21[iVar25] = pPVar34[uVar37].red;\n                pQVar21[iVar26] = pPVar34[uVar37].green;\n                pQVar21[iVar5] = pPVar34[uVar37].blue;\n                if (PVar6 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[3].offset] = pPVar34[uVar37].black;\n                }\n                if (PVar7 != UndefinedPixelTrait) {\n                  fVar10 = fVar11;\n                  if (pPVar34[uVar37].alpha_trait != UndefinedPixelTrait) {\n                    fVar10 = (float)pPVar34[uVar37].alpha;\n                  }\n                  pQVar21[pPVar3[4].offset] = (double)fVar10;\n                }\n                if (iVar29 == 0) {\n                  puVar33 = (ushort *)((int)puVar33 + 1);\n                  iVar29 = 8 - uVar18;\n                }\n                else {\n                  iVar29 = iVar29 - uVar18;\n                }\n                if (uVar24 == iVar31 + 1U) break;\n                iVar31 = iVar31 + 1;\n                pQVar21 = pQVar21 + sVar43;\n                if (uVar17 <= (uint)((int)puVar33 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            MVar15 = SyncAuthenticPixels(image,exception);\n            if (MVar15 != MagickFalse) goto LAB_00262579;\n            break;\n          }\n          if (uVar17 * 2 < uVar24) {\n            RelinquishMagickMemory(__s);\n            if (uVar19 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar44 = "CorruptImage";\n            severity = CorruptImageError;\n            sVar43 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar24 == 0) {\nLAB_00262579:\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }\n          else {\n            pPVar3 = image->channel_map;\n            sVar43 = image->number_channels;\n            iVar25 = pPVar3[1].offset;\n            iVar26 = pPVar3->offset;\n            iVar5 = pPVar3[2].offset;\n            if (pPVar3[4].traits != UndefinedPixelTrait) {\n              iVar29 = pPVar3[4].offset;\n              puVar33 = __s;\n              do {\n                fVar10 = DAT_00306a38;\n                puVar30 = puVar33 + 1;\n                uVar14 = *puVar33 << 8;\n                uVar9 = *puVar33 >> 8;\n                pQVar21[iVar26] = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n                pQVar21[iVar25] =\n                     (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n                pQVar21[iVar5] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n                pQVar21[iVar29] = (double)fVar11;\n                pQVar21 = pQVar21 + sVar43;\n                puVar33 = puVar30;\n              } while (puVar30 != __s + uVar24);\n              goto LAB_00262579;\n            }\n            pdVar23 = pQVar21 + iVar26;\n            puVar33 = __s;\n            do {\n              fVar10 = DAT_00306a38;\n              puVar30 = puVar33 + 1;\n              uVar14 = *puVar33 << 8;\n              uVar9 = *puVar33 >> 8;\n              *pdVar23 = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n              pdVar23[iVar25 - iVar26] =\n                   (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n              pdVar23[iVar5 - iVar26] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n              pdVar23 = pdVar23 + sVar43;\n              puVar33 = puVar30;\n            } while (__s + uVar24 != puVar30);\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }\n          if (p_Var8 == (_Image *)0x0) {\n            local_9c = SetImageProgress(image,"Load/Image",CONCAT44(local_a8,local_ac),\n                                        (ulonglong)uVar24);\n            if (local_9c == MagickFalse) break;\n            uVar24 = image->rows;\n          }\n          local_c8 = local_c8 + 1;\n          bVar39 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar39;\n        } while (local_c8 < (int)uVar24);\n      }\n      if ((uVar12 & 0x2000) != 0) {\n        iVar20 = iVar20 - iVar16;\n        if (((iVar20 < 0) || ((int)image->colors <= iVar20)) &&\n           (iVar20 = 0, exception->severity != CorruptImageError)) {\n          ThrowMagickException\n                    (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,\n                     CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n        }\n        if (uVar18 != 0x10) {\n          pPVar34 = image->colormap + iVar20;\n          pPVar38 = local_a0;\n          for (iVar16 = 0x14; iVar16 != 0; iVar16 = iVar16 + -1) {\n            pPVar38->storage_class = pPVar34->storage_class;\n            pPVar34 = (PixelInfo *)((int)pPVar34 + (uint)bVar40 * -8 + 4);\n            pPVar38 = (PixelInfo *)((int)pPVar38 + (uint)bVar40 * -8 + 4);\n          }\n        }\n        TransparentPaintImage(image,local_a0,0.0,MagickFalse,exception);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar19 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar16 = EOFBlob(image);\n      if (iVar16 != 0) {\n        piVar28 = __errno_location();\n        pcVar44 = GetExceptionMessage(*piVar28);\n        ThrowMagickException\n                  (exception,"coders/palm.c","ReadPALMImage",0x22e,CorruptImageError,\n                   "UnexpectedEndOfFile","\'%s\': %s");\n        DestroyString(pcVar44);\nLAB_0026266b:\n        CloseBlob(image);\n        if (local_9c == MagickFalse) goto LAB_00262f23;\n        pIVar22 = GetFirstImageInList(image);\n        goto LAB_002621b8;\n      }\n      if (((image_info->number_scenes != 0) &&\n          ((image_info->number_scenes + image_info->scene) - 1 <= image->scene)) || (uVar13 == 0))\n      goto LAB_0026266b;\n      uVar17 = (uint)uVar13 * 4;\n      bVar39 = CARRY4(local_94,uVar17);\n      local_94 = local_94 + uVar17;\n      local_90 = local_90 + (uint)bVar39;\n      MVar42 = GetBlobSize(image);\n      if ((longlong)MVar42 <= CONCAT44(local_90,local_94)) {\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x23e;\n        goto LAB_0026218b;\n      }\n      MVar41 = SeekBlob(image,CONCAT44(local_90,local_94),0);\n      if (MVar41 != CONCAT44(local_90,local_94)) {\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(image_info,image,exception);\n      pIVar22 = GetNextImageInList(image);\n      if (pIVar22 == (Image *)0x0) break;\n      image = SyncNextImageInList(image);\n      MVar42 = GetBlobSize(image);\n      MVar41 = TellBlob(image);\n      MVar15 = SetImageProgress(image,"Load/Images",MVar41,MVar42);\n    } while (MVar15 != MagickFalse);\n    CloseBlob(image);\nLAB_00262f23:\n    pIVar22 = DestroyImageList(image);\n  }\nLAB_002621b8:\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return pIVar22;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}\n\n" comment comment comment comment comment comment comment comment comment (function_definition "Image * ReadPALMImage(ImageInfo *image_info,ExceptionInfo *exception)\n\n{\n  double dVar1;\n  int iVar2;\n  PixelChannelMap *pPVar3;\n  PixelTrait PVar4;\n  int iVar5;\n  PixelTrait PVar6;\n  PixelTrait PVar7;\n  _Image *p_Var8;\n  ushort uVar9;\n  float fVar10;\n  float fVar11;\n  ushort uVar12;\n  ushort uVar13;\n  ushort uVar14;\n  Image *image;\n  MagickBooleanType MVar15;\n  int iVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  ushort *__s;\n  int iVar20;\n  Quantum *pQVar21;\n  Image *pIVar22;\n  double *pdVar23;\n  uint uVar24;\n  int iVar25;\n  int iVar26;\n  byte *__s_00;\n  size_t sVar27;\n  int *piVar28;\n  int iVar29;\n  ushort *puVar30;\n  int iVar31;\n  uint uVar32;\n  ushort *puVar33;\n  PixelInfo *pPVar34;\n  uchar (*pauVar35) [3];\n  uchar (*pauVar36) [3];\n  size_t __n;\n  uint uVar37;\n  PixelInfo *pPVar38;\n  int in_GS_OFFSET;\n  bool bVar39;\n  byte bVar40;\n  MagickOffsetType MVar41;\n  MagickSizeType MVar42;\n  size_t sVar43;\n  ExceptionType severity;\n  char *pcVar44;\n  int local_10c;\n  int local_f4;\n  int local_c8;\n  void *local_b0;\n  uint local_ac;\n  int local_a8;\n  PixelInfo *local_a0;\n  MagickBooleanType local_9c;\n  uint local_94;\n  int local_90;\n  PixelInfo transpix;\n  \n  bVar40 = 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/palm.c",0x124,"ReadPALMImage");\n  }\n  if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,\n                  "ReadPALMImage");\n  }\n  if (image_info->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"coders/palm.c","ReadPALMImage",0x127,"%s",image_info->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage");\n  }\n  if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage");\n  }\n  image = AcquireImage(image_info,exception);\n  MVar15 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);\n  local_94 = 0;\n  local_90 = 0;\n  if (MVar15 == MagickFalse) {\n    pIVar22 = (Image *)0x0;\n    DestroyImageList(image);\n  }\n  else {\n    do {\n      uVar12 = ReadBlobMSBShort(image);\n      image->columns = (uint)uVar12;\n      uVar12 = ReadBlobMSBShort(image);\n      image->rows = (uint)uVar12;\n      iVar16 = EOFBlob(image);\n      if (iVar16 != 0) {\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (exception,"coders/palm.c","ReadPALMImage",sVar43,severity,pcVar44,"`%s\'",\n                   image_info->filename);\n        CloseBlob(image);\n        DestroyImageList(image);\n        pIVar22 = (Image *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((image->columns == 0) || (image->rows == 0)) {\n        pcVar44 = "NegativeOrZeroImageSize";\n        severity = CorruptImageError;\n        sVar43 = 0x13a;\n        goto LAB_0026218b;\n      }\n      MVar15 = SetImageExtent(image,image->columns,image->rows,exception);\n      if (MVar15 == MagickFalse) goto LAB_00262f23;\n      SetImageBackgroundColor(image,exception);\n      uVar12 = ReadBlobMSBShort(image);\n      uVar17 = (uint)uVar12;\n      uVar12 = ReadBlobMSBShort(image);\n      uVar18 = ReadBlobByte(image);\n      if ((0x10 < uVar18) || ((0x10116U >> (uVar18 & 0x1f) & 1) == 0)) {\n        pcVar44 = "UnsupportedBitsPerPixel";\n        severity = CorruptImageError;\n        sVar43 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar19 = ReadBlobByte(image);\n      if (2 < uVar19) {\n        pcVar44 = "FileFormatVersionMismatch";\n        severity = CorruptImageError;\n        sVar43 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar13 = ReadBlobMSBShort(image);\n      iVar16 = ReadBlobByte(image);\n      uVar19 = ReadBlobByte(image);\n      if ((uVar19 != 0xff) && (1 < uVar19)) {\n        pcVar44 = "UnrecognizedImageCompression";\n        severity = CorruptImageError;\n        sVar43 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(image);\n      if (uVar18 == 0x10) {\n        GetPixelInfo(image,&transpix);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        iVar20 = ReadBlobByte(image);\n        fVar10 = DAT_00306a38;\n        fVar11 = DAT_002df8a8;\n        transpix.red = (MagickRealType)((DAT_002df8a8 * (float)iVar20) / DAT_00306a38);\n        iVar20 = ReadBlobByte(image);\n        transpix.green = (MagickRealType)(((float)iVar20 * fVar11) / DAT_0030d3a4);\n        iVar20 = ReadBlobByte(image);\n        transpix.blue = (MagickRealType)(((float)iVar20 * fVar11) / fVar10);\n        if ((short)uVar12 < 0) goto LAB_00262c40;\n        image->storage_class = DirectClass;\n      }\n      else {\n        MVar15 = AcquireImageColormap(image,1 << ((byte)uVar18 & 0x1f),exception);\n        if (MVar15 == MagickFalse) {\n          pcVar44 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar43 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(image,&transpix);\n        if (uVar18 == 8) {\n          if ((uVar12 & 0x4000) == 0) {\n            iVar20 = 0xff;\n            pauVar36 = PalmPalette;\n            do {\n              if (iVar20 < (int)image->colors) {\n                local_10c = iVar20 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (exception->severity != CorruptImageError) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                             0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n                }\n              }\n              fVar11 = DAT_002e814c;\n              pPVar34 = image->colormap;\n              pauVar35 = pauVar36 + 1;\n              iVar20 = iVar20 + -1;\n              *(double *)((int)&pPVar34->red + local_10c) =\n                   (double)((float)(*pauVar36)[0] * DAT_002e814c);\n              *(double *)((int)&pPVar34->green + local_10c) =\n                   (double)((float)(*pauVar36)[1] * fVar11);\n              *(double *)((int)&pPVar34->blue + local_10c) =\n                   (double)((float)(*pauVar36)[2] * fVar11);\n              pauVar36 = pauVar35;\n            } while (pauVar35 != (uchar (*) [3])"Pango Markup Language");\n          }\n          else {\n            uVar14 = ReadBlobMSBShort(image);\n            if (uVar14 != 0) {\n              iVar20 = 0xff;\n              do {\n                ReadBlobByte(image);\n                if ((iVar20 < 0) || ((int)image->colors <= iVar20)) {\n                  iVar25 = 0;\n                  if (exception->severity != CorruptImageError) {\n                    ThrowMagickException\n                              (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename\n                              );\n                  }\n                }\n                else {\n                  iVar25 = iVar20 * 0x50;\n                }\n                iVar20 = iVar20 + -1;\n                uVar24 = ReadBlobByte(image);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)((int)&image->colormap->red + iVar25) =\n                     (double)((float)(uVar24 & 0xff) * DAT_002e814c);\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->green + iVar25) = dVar1 * (double)(uVar24 & 0xff)\n                ;\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->blue + iVar25) = dVar1 * (double)(uVar24 & 0xff);\n              } while (0xff - (uint)uVar14 != iVar20);\n            }\n          }\n          if ((short)uVar12 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar12 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(image);\n          }\n          image->storage_class = DirectClass;\n          if (uVar18 == 0x10) goto LAB_002622bf;\n        }\n        image->storage_class = PseudoClass;\n        image->depth = 8;\n      }\nLAB_002622bf:\n      local_a0 = &transpix;\n      if (image_info->ping != MagickFalse) {\n        CloseBlob(image);\n        pIVar22 = image;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(image,image->columns,image->rows,exception);\n      if (local_9c == MagickFalse) goto LAB_00262f23;\n      uVar24 = image->columns * 2;\n      if (uVar24 < uVar17) {\n        uVar24 = uVar17;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar24,1);\n      if (__s == (ushort *)0x0) {\n        pcVar44 = "MemoryAllocationFailed";\n        severity = ErrorException;\n        sVar43 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar24);\n      local_b0 = (void *)0x0;\n      if (uVar19 == 0) {\n        uVar24 = image->columns * 2;\n        if (uVar24 < uVar17) {\n          uVar24 = uVar17;\n        }\n        local_b0 = AcquireQuantumMemory(uVar24,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar44 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar43 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar24 = image->columns * 2;\n        if (uVar24 < uVar17) {\n          uVar24 = uVar17;\n        }\n        memset(local_b0,0,uVar24);\n      }\n      iVar20 = (1 << ((byte)uVar18 & 0x1f)) + -1;\n      if (0 < (int)image->rows) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar12 < 0) {\n            if (uVar19 == 1) {\n              image->compression = RLECompression;\n              if (uVar17 != 0) {\n                iVar25 = 0;\n                do {\n                  sVar27 = ReadBlobByte(image);\n                  if ((int)sVar27 < 0) break;\n                  __n = uVar17 - iVar25;\n                  if ((int)sVar27 < (int)(uVar17 - iVar25)) {\n                    __n = sVar27;\n                  }\n                  iVar26 = ReadBlobByte(image);\n                  __s_00 = (byte *)((int)__s + iVar25);\n                  iVar25 = iVar25 + __n;\n                  memset(__s_00,iVar26,__n);\n                } while (iVar25 < (int)uVar17);\n              }\n            }\n            else if (uVar19 == 0) {\n              image->compression = FaxCompression;\n              if (uVar17 != 0) {\n                local_f4 = 0;\n                puVar33 = __s;\n                do {\n                  uVar24 = ReadBlobByte(image);\n                  if ((int)uVar24 < 0) break;\n                  uVar37 = uVar17 - local_f4;\n                  if ((int)uVar37 < 8) {\n                    if (uVar37 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar37 = 8;\nLAB_002629c0:\n                    uVar32 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                    else {\n                      uVar32 = 0;\n                      do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar33 = puVar33 + 4;\n                } while (local_f4 != (uVar17 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar17);\n            }\n          }\n          else {\n            image->compression = NoCompression;\n            uVar24 = ReadBlob(image,uVar17,__s);\n            if (uVar24 != uVar17) break;\n          }\n          pQVar21 = QueueAuthenticPixels(image,0,local_c8,image->columns,1,exception);\n          fVar11 = DAT_002df8a8;\n          if (pQVar21 == (Quantum *)0x0) break;\n          uVar24 = image->columns;\n          if (uVar18 != 0x10) {\n            if (0 < (int)uVar24) {\n              if (uVar17 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar19 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar44 = "CorruptImage";\n                severity = CorruptImageError;\n                sVar43 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar31 = 0;\n              pPVar3 = image->channel_map;\n              PVar4 = pPVar3[5].traits;\n              pPVar34 = image->colormap;\n              sVar43 = image->number_channels;\n              iVar25 = pPVar3->offset;\n              iVar26 = pPVar3[1].offset;\n              iVar5 = pPVar3[2].offset;\n              PVar6 = pPVar3[3].traits;\n              PVar7 = pPVar3[4].traits;\n              iVar29 = 8 - uVar18;\n              puVar33 = __s;\n              while( true ) {\n                uVar37 = iVar20 - (((uint)(byte)*puVar33 & iVar20 << ((byte)iVar29 & 0x1f)) >>\n                                  ((byte)iVar29 & 0x1f));\n                if (PVar4 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[5].offset] = (double)uVar37;\n                }\n                pQVar21[iVar25] = pPVar34[uVar37].red;\n                pQVar21[iVar26] = pPVar34[uVar37].green;\n                pQVar21[iVar5] = pPVar34[uVar37].blue;\n                if (PVar6 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[3].offset] = pPVar34[uVar37].black;\n                }\n                if (PVar7 != UndefinedPixelTrait) {\n                  fVar10 = fVar11;\n                  if (pPVar34[uVar37].alpha_trait != UndefinedPixelTrait) {\n                    fVar10 = (float)pPVar34[uVar37].alpha;\n                  }\n                  pQVar21[pPVar3[4].offset] = (double)fVar10;\n                }\n                if (iVar29 == 0) {\n                  puVar33 = (ushort *)((int)puVar33 + 1);\n                  iVar29 = 8 - uVar18;\n                }\n                else {\n                  iVar29 = iVar29 - uVar18;\n                }\n                if (uVar24 == iVar31 + 1U) break;\n                iVar31 = iVar31 + 1;\n                pQVar21 = pQVar21 + sVar43;\n                if (uVar17 <= (uint)((int)puVar33 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            MVar15 = SyncAuthenticPixels(image,exception);\n            if (MVar15 != MagickFalse) goto LAB_00262579;\n            break;\n          }\n          if (uVar17 * 2 < uVar24) {\n            RelinquishMagickMemory(__s);\n            if (uVar19 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar44 = "CorruptImage";\n            severity = CorruptImageError;\n            sVar43 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar24 == 0) {\nLAB_00262579:\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }\n          else {\n            pPVar3 = image->channel_map;\n            sVar43 = image->number_channels;\n            iVar25 = pPVar3[1].offset;\n            iVar26 = pPVar3->offset;\n            iVar5 = pPVar3[2].offset;\n            if (pPVar3[4].traits != UndefinedPixelTrait) {\n              iVar29 = pPVar3[4].offset;\n              puVar33 = __s;\n              do {\n                fVar10 = DAT_00306a38;\n                puVar30 = puVar33 + 1;\n                uVar14 = *puVar33 << 8;\n                uVar9 = *puVar33 >> 8;\n                pQVar21[iVar26] = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n                pQVar21[iVar25] =\n                     (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n                pQVar21[iVar5] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n                pQVar21[iVar29] = (double)fVar11;\n                pQVar21 = pQVar21 + sVar43;\n                puVar33 = puVar30;\n              } while (puVar30 != __s + uVar24);\n              goto LAB_00262579;\n            }\n            pdVar23 = pQVar21 + iVar26;\n            puVar33 = __s;\n            do {\n              fVar10 = DAT_00306a38;\n              puVar30 = puVar33 + 1;\n              uVar14 = *puVar33 << 8;\n              uVar9 = *puVar33 >> 8;\n              *pdVar23 = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n              pdVar23[iVar25 - iVar26] =\n                   (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n              pdVar23[iVar5 - iVar26] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n              pdVar23 = pdVar23 + sVar43;\n              puVar33 = puVar30;\n            } while (__s + uVar24 != puVar30);\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }\n          if (p_Var8 == (_Image *)0x0) {\n            local_9c = SetImageProgress(image,"Load/Image",CONCAT44(local_a8,local_ac),\n                                        (ulonglong)uVar24);\n            if (local_9c == MagickFalse) break;\n            uVar24 = image->rows;\n          }\n          local_c8 = local_c8 + 1;\n          bVar39 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar39;\n        } while (local_c8 < (int)uVar24);\n      }\n      if ((uVar12 & 0x2000) != 0) {\n        iVar20 = iVar20 - iVar16;\n        if (((iVar20 < 0) || ((int)image->colors <= iVar20)) &&\n           (iVar20 = 0, exception->severity != CorruptImageError)) {\n          ThrowMagickException\n                    (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,\n                     CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n        }\n        if (uVar18 != 0x10) {\n          pPVar34 = image->colormap + iVar20;\n          pPVar38 = local_a0;\n          for (iVar16 = 0x14; iVar16 != 0; iVar16 = iVar16 + -1) {\n            pPVar38->storage_class = pPVar34->storage_class;\n            pPVar34 = (PixelInfo *)((int)pPVar34 + (uint)bVar40 * -8 + 4);\n            pPVar38 = (PixelInfo *)((int)pPVar38 + (uint)bVar40 * -8 + 4);\n          }\n        }\n        TransparentPaintImage(image,local_a0,0.0,MagickFalse,exception);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar19 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar16 = EOFBlob(image);\n      if (iVar16 != 0) {\n        piVar28 = __errno_location();\n        pcVar44 = GetExceptionMessage(*piVar28);\n        ThrowMagickException\n                  (exception,"coders/palm.c","ReadPALMImage",0x22e,CorruptImageError,\n                   "UnexpectedEndOfFile","\'%s\': %s");\n        DestroyString(pcVar44);\nLAB_0026266b:\n        CloseBlob(image);\n        if (local_9c == MagickFalse) goto LAB_00262f23;\n        pIVar22 = GetFirstImageInList(image);\n        goto LAB_002621b8;\n      }\n      if (((image_info->number_scenes != 0) &&\n          ((image_info->number_scenes + image_info->scene) - 1 <= image->scene)) || (uVar13 == 0))\n      goto LAB_0026266b;\n      uVar17 = (uint)uVar13 * 4;\n      bVar39 = CARRY4(local_94,uVar17);\n      local_94 = local_94 + uVar17;\n      local_90 = local_90 + (uint)bVar39;\n      MVar42 = GetBlobSize(image);\n      if ((longlong)MVar42 <= CONCAT44(local_90,local_94)) {\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x23e;\n        goto LAB_0026218b;\n      }\n      MVar41 = SeekBlob(image,CONCAT44(local_90,local_94),0);\n      if (MVar41 != CONCAT44(local_90,local_94)) {\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(image_info,image,exception);\n      pIVar22 = GetNextImageInList(image);\n      if (pIVar22 == (Image *)0x0) break;\n      image = SyncNextImageInList(image);\n      MVar42 = GetBlobSize(image);\n      MVar41 = TellBlob(image);\n      MVar15 = SetImageProgress(image,"Load/Images",MVar41,MVar42);\n    } while (MVar15 != MagickFalse);\n    CloseBlob(image);\nLAB_00262f23:\n    pIVar22 = DestroyImageList(image);\n  }\nLAB_002621b8:\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return pIVar22;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" type_identifier (pointer_declarator "* ReadPALMImage(ImageInfo *image_info,ExceptionInfo *exception)" * (function_declarator "ReadPALMImage(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  double dVar1;\n  int iVar2;\n  PixelChannelMap *pPVar3;\n  PixelTrait PVar4;\n  int iVar5;\n  PixelTrait PVar6;\n  PixelTrait PVar7;\n  _Image *p_Var8;\n  ushort uVar9;\n  float fVar10;\n  float fVar11;\n  ushort uVar12;\n  ushort uVar13;\n  ushort uVar14;\n  Image *image;\n  MagickBooleanType MVar15;\n  int iVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  ushort *__s;\n  int iVar20;\n  Quantum *pQVar21;\n  Image *pIVar22;\n  double *pdVar23;\n  uint uVar24;\n  int iVar25;\n  int iVar26;\n  byte *__s_00;\n  size_t sVar27;\n  int *piVar28;\n  int iVar29;\n  ushort *puVar30;\n  int iVar31;\n  uint uVar32;\n  ushort *puVar33;\n  PixelInfo *pPVar34;\n  uchar (*pauVar35) [3];\n  uchar (*pauVar36) [3];\n  size_t __n;\n  uint uVar37;\n  PixelInfo *pPVar38;\n  int in_GS_OFFSET;\n  bool bVar39;\n  byte bVar40;\n  MagickOffsetType MVar41;\n  MagickSizeType MVar42;\n  size_t sVar43;\n  ExceptionType severity;\n  char *pcVar44;\n  int local_10c;\n  int local_f4;\n  int local_c8;\n  void *local_b0;\n  uint local_ac;\n  int local_a8;\n  PixelInfo *local_a0;\n  MagickBooleanType local_9c;\n  uint local_94;\n  int local_90;\n  PixelInfo transpix;\n  \n  bVar40 = 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/palm.c",0x124,"ReadPALMImage");\n  }\n  if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,\n                  "ReadPALMImage");\n  }\n  if (image_info->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"coders/palm.c","ReadPALMImage",0x127,"%s",image_info->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage");\n  }\n  if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage");\n  }\n  image = AcquireImage(image_info,exception);\n  MVar15 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);\n  local_94 = 0;\n  local_90 = 0;\n  if (MVar15 == MagickFalse) {\n    pIVar22 = (Image *)0x0;\n    DestroyImageList(image);\n  }\n  else {\n    do {\n      uVar12 = ReadBlobMSBShort(image);\n      image->columns = (uint)uVar12;\n      uVar12 = ReadBlobMSBShort(image);\n      image->rows = (uint)uVar12;\n      iVar16 = EOFBlob(image);\n      if (iVar16 != 0) {\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (exception,"coders/palm.c","ReadPALMImage",sVar43,severity,pcVar44,"`%s\'",\n                   image_info->filename);\n        CloseBlob(image);\n        DestroyImageList(image);\n        pIVar22 = (Image *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((image->columns == 0) || (image->rows == 0)) {\n        pcVar44 = "NegativeOrZeroImageSize";\n        severity = CorruptImageError;\n        sVar43 = 0x13a;\n        goto LAB_0026218b;\n      }\n      MVar15 = SetImageExtent(image,image->columns,image->rows,exception);\n      if (MVar15 == MagickFalse) goto LAB_00262f23;\n      SetImageBackgroundColor(image,exception);\n      uVar12 = ReadBlobMSBShort(image);\n      uVar17 = (uint)uVar12;\n      uVar12 = ReadBlobMSBShort(image);\n      uVar18 = ReadBlobByte(image);\n      if ((0x10 < uVar18) || ((0x10116U >> (uVar18 & 0x1f) & 1) == 0)) {\n        pcVar44 = "UnsupportedBitsPerPixel";\n        severity = CorruptImageError;\n        sVar43 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar19 = ReadBlobByte(image);\n      if (2 < uVar19) {\n        pcVar44 = "FileFormatVersionMismatch";\n        severity = CorruptImageError;\n        sVar43 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar13 = ReadBlobMSBShort(image);\n      iVar16 = ReadBlobByte(image);\n      uVar19 = ReadBlobByte(image);\n      if ((uVar19 != 0xff) && (1 < uVar19)) {\n        pcVar44 = "UnrecognizedImageCompression";\n        severity = CorruptImageError;\n        sVar43 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(image);\n      if (uVar18 == 0x10) {\n        GetPixelInfo(image,&transpix);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        iVar20 = ReadBlobByte(image);\n        fVar10 = DAT_00306a38;\n        fVar11 = DAT_002df8a8;\n        transpix.red = (MagickRealType)((DAT_002df8a8 * (float)iVar20) / DAT_00306a38);\n        iVar20 = ReadBlobByte(image);\n        transpix.green = (MagickRealType)(((float)iVar20 * fVar11) / DAT_0030d3a4);\n        iVar20 = ReadBlobByte(image);\n        transpix.blue = (MagickRealType)(((float)iVar20 * fVar11) / fVar10);\n        if ((short)uVar12 < 0) goto LAB_00262c40;\n        image->storage_class = DirectClass;\n      }\n      else {\n        MVar15 = AcquireImageColormap(image,1 << ((byte)uVar18 & 0x1f),exception);\n        if (MVar15 == MagickFalse) {\n          pcVar44 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar43 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(image,&transpix);\n        if (uVar18 == 8) {\n          if ((uVar12 & 0x4000) == 0) {\n            iVar20 = 0xff;\n            pauVar36 = PalmPalette;\n            do {\n              if (iVar20 < (int)image->colors) {\n                local_10c = iVar20 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (exception->severity != CorruptImageError) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                             0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n                }\n              }\n              fVar11 = DAT_002e814c;\n              pPVar34 = image->colormap;\n              pauVar35 = pauVar36 + 1;\n              iVar20 = iVar20 + -1;\n              *(double *)((int)&pPVar34->red + local_10c) =\n                   (double)((float)(*pauVar36)[0] * DAT_002e814c);\n              *(double *)((int)&pPVar34->green + local_10c) =\n                   (double)((float)(*pauVar36)[1] * fVar11);\n              *(double *)((int)&pPVar34->blue + local_10c) =\n                   (double)((float)(*pauVar36)[2] * fVar11);\n              pauVar36 = pauVar35;\n            } while (pauVar35 != (uchar (*) [3])"Pango Markup Language");\n          }\n          else {\n            uVar14 = ReadBlobMSBShort(image);\n            if (uVar14 != 0) {\n              iVar20 = 0xff;\n              do {\n                ReadBlobByte(image);\n                if ((iVar20 < 0) || ((int)image->colors <= iVar20)) {\n                  iVar25 = 0;\n                  if (exception->severity != CorruptImageError) {\n                    ThrowMagickException\n                              (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename\n                              );\n                  }\n                }\n                else {\n                  iVar25 = iVar20 * 0x50;\n                }\n                iVar20 = iVar20 + -1;\n                uVar24 = ReadBlobByte(image);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)((int)&image->colormap->red + iVar25) =\n                     (double)((float)(uVar24 & 0xff) * DAT_002e814c);\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->green + iVar25) = dVar1 * (double)(uVar24 & 0xff)\n                ;\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->blue + iVar25) = dVar1 * (double)(uVar24 & 0xff);\n              } while (0xff - (uint)uVar14 != iVar20);\n            }\n          }\n          if ((short)uVar12 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar12 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(image);\n          }\n          image->storage_class = DirectClass;\n          if (uVar18 == 0x10) goto LAB_002622bf;\n        }\n        image->storage_class = PseudoClass;\n        image->depth = 8;\n      }\nLAB_002622bf:\n      local_a0 = &transpix;\n      if (image_info->ping != MagickFalse) {\n        CloseBlob(image);\n        pIVar22 = image;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(image,image->columns,image->rows,exception);\n      if (local_9c == MagickFalse) goto LAB_00262f23;\n      uVar24 = image->columns * 2;\n      if (uVar24 < uVar17) {\n        uVar24 = uVar17;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar24,1);\n      if (__s == (ushort *)0x0) {\n        pcVar44 = "MemoryAllocationFailed";\n        severity = ErrorException;\n        sVar43 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar24);\n      local_b0 = (void *)0x0;\n      if (uVar19 == 0) {\n        uVar24 = image->columns * 2;\n        if (uVar24 < uVar17) {\n          uVar24 = uVar17;\n        }\n        local_b0 = AcquireQuantumMemory(uVar24,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar44 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar43 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar24 = image->columns * 2;\n        if (uVar24 < uVar17) {\n          uVar24 = uVar17;\n        }\n        memset(local_b0,0,uVar24);\n      }\n      iVar20 = (1 << ((byte)uVar18 & 0x1f)) + -1;\n      if (0 < (int)image->rows) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar12 < 0) {\n            if (uVar19 == 1) {\n              image->compression = RLECompression;\n              if (uVar17 != 0) {\n                iVar25 = 0;\n                do {\n                  sVar27 = ReadBlobByte(image);\n                  if ((int)sVar27 < 0) break;\n                  __n = uVar17 - iVar25;\n                  if ((int)sVar27 < (int)(uVar17 - iVar25)) {\n                    __n = sVar27;\n                  }\n                  iVar26 = ReadBlobByte(image);\n                  __s_00 = (byte *)((int)__s + iVar25);\n                  iVar25 = iVar25 + __n;\n                  memset(__s_00,iVar26,__n);\n                } while (iVar25 < (int)uVar17);\n              }\n            }\n            else if (uVar19 == 0) {\n              image->compression = FaxCompression;\n              if (uVar17 != 0) {\n                local_f4 = 0;\n                puVar33 = __s;\n                do {\n                  uVar24 = ReadBlobByte(image);\n                  if ((int)uVar24 < 0) break;\n                  uVar37 = uVar17 - local_f4;\n                  if ((int)uVar37 < 8) {\n                    if (uVar37 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar37 = 8;\nLAB_002629c0:\n                    uVar32 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                    else {\n                      uVar32 = 0;\n                      do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar33 = puVar33 + 4;\n                } while (local_f4 != (uVar17 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar17);\n            }\n          }\n          else {\n            image->compression = NoCompression;\n            uVar24 = ReadBlob(image,uVar17,__s);\n            if (uVar24 != uVar17) break;\n          }\n          pQVar21 = QueueAuthenticPixels(image,0,local_c8,image->columns,1,exception);\n          fVar11 = DAT_002df8a8;\n          if (pQVar21 == (Quantum *)0x0) break;\n          uVar24 = image->columns;\n          if (uVar18 != 0x10) {\n            if (0 < (int)uVar24) {\n              if (uVar17 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar19 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar44 = "CorruptImage";\n                severity = CorruptImageError;\n                sVar43 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar31 = 0;\n              pPVar3 = image->channel_map;\n              PVar4 = pPVar3[5].traits;\n              pPVar34 = image->colormap;\n              sVar43 = image->number_channels;\n              iVar25 = pPVar3->offset;\n              iVar26 = pPVar3[1].offset;\n              iVar5 = pPVar3[2].offset;\n              PVar6 = pPVar3[3].traits;\n              PVar7 = pPVar3[4].traits;\n              iVar29 = 8 - uVar18;\n              puVar33 = __s;\n              while( true ) {\n                uVar37 = iVar20 - (((uint)(byte)*puVar33 & iVar20 << ((byte)iVar29 & 0x1f)) >>\n                                  ((byte)iVar29 & 0x1f));\n                if (PVar4 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[5].offset] = (double)uVar37;\n                }\n                pQVar21[iVar25] = pPVar34[uVar37].red;\n                pQVar21[iVar26] = pPVar34[uVar37].green;\n                pQVar21[iVar5] = pPVar34[uVar37].blue;\n                if (PVar6 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[3].offset] = pPVar34[uVar37].black;\n                }\n                if (PVar7 != UndefinedPixelTrait) {\n                  fVar10 = fVar11;\n                  if (pPVar34[uVar37].alpha_trait != UndefinedPixelTrait) {\n                    fVar10 = (float)pPVar34[uVar37].alpha;\n                  }\n                  pQVar21[pPVar3[4].offset] = (double)fVar10;\n                }\n                if (iVar29 == 0) {\n                  puVar33 = (ushort *)((int)puVar33 + 1);\n                  iVar29 = 8 - uVar18;\n                }\n                else {\n                  iVar29 = iVar29 - uVar18;\n                }\n                if (uVar24 == iVar31 + 1U) break;\n                iVar31 = iVar31 + 1;\n                pQVar21 = pQVar21 + sVar43;\n                if (uVar17 <= (uint)((int)puVar33 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            MVar15 = SyncAuthenticPixels(image,exception);\n            if (MVar15 != MagickFalse) goto LAB_00262579;\n            break;\n          }\n          if (uVar17 * 2 < uVar24) {\n            RelinquishMagickMemory(__s);\n            if (uVar19 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar44 = "CorruptImage";\n            severity = CorruptImageError;\n            sVar43 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar24 == 0) {\nLAB_00262579:\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }\n          else {\n            pPVar3 = image->channel_map;\n            sVar43 = image->number_channels;\n            iVar25 = pPVar3[1].offset;\n            iVar26 = pPVar3->offset;\n            iVar5 = pPVar3[2].offset;\n            if (pPVar3[4].traits != UndefinedPixelTrait) {\n              iVar29 = pPVar3[4].offset;\n              puVar33 = __s;\n              do {\n                fVar10 = DAT_00306a38;\n                puVar30 = puVar33 + 1;\n                uVar14 = *puVar33 << 8;\n                uVar9 = *puVar33 >> 8;\n                pQVar21[iVar26] = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n                pQVar21[iVar25] =\n                     (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n                pQVar21[iVar5] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n                pQVar21[iVar29] = (double)fVar11;\n                pQVar21 = pQVar21 + sVar43;\n                puVar33 = puVar30;\n              } while (puVar30 != __s + uVar24);\n              goto LAB_00262579;\n            }\n            pdVar23 = pQVar21 + iVar26;\n            puVar33 = __s;\n            do {\n              fVar10 = DAT_00306a38;\n              puVar30 = puVar33 + 1;\n              uVar14 = *puVar33 << 8;\n              uVar9 = *puVar33 >> 8;\n              *pdVar23 = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n              pdVar23[iVar25 - iVar26] =\n                   (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n              pdVar23[iVar5 - iVar26] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n              pdVar23 = pdVar23 + sVar43;\n              puVar33 = puVar30;\n            } while (__s + uVar24 != puVar30);\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }\n          if (p_Var8 == (_Image *)0x0) {\n            local_9c = SetImageProgress(image,"Load/Image",CONCAT44(local_a8,local_ac),\n                                        (ulonglong)uVar24);\n            if (local_9c == MagickFalse) break;\n            uVar24 = image->rows;\n          }\n          local_c8 = local_c8 + 1;\n          bVar39 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar39;\n        } while (local_c8 < (int)uVar24);\n      }\n      if ((uVar12 & 0x2000) != 0) {\n        iVar20 = iVar20 - iVar16;\n        if (((iVar20 < 0) || ((int)image->colors <= iVar20)) &&\n           (iVar20 = 0, exception->severity != CorruptImageError)) {\n          ThrowMagickException\n                    (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,\n                     CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n        }\n        if (uVar18 != 0x10) {\n          pPVar34 = image->colormap + iVar20;\n          pPVar38 = local_a0;\n          for (iVar16 = 0x14; iVar16 != 0; iVar16 = iVar16 + -1) {\n            pPVar38->storage_class = pPVar34->storage_class;\n            pPVar34 = (PixelInfo *)((int)pPVar34 + (uint)bVar40 * -8 + 4);\n            pPVar38 = (PixelInfo *)((int)pPVar38 + (uint)bVar40 * -8 + 4);\n          }\n        }\n        TransparentPaintImage(image,local_a0,0.0,MagickFalse,exception);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar19 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar16 = EOFBlob(image);\n      if (iVar16 != 0) {\n        piVar28 = __errno_location();\n        pcVar44 = GetExceptionMessage(*piVar28);\n        ThrowMagickException\n                  (exception,"coders/palm.c","ReadPALMImage",0x22e,CorruptImageError,\n                   "UnexpectedEndOfFile","\'%s\': %s");\n        DestroyString(pcVar44);\nLAB_0026266b:\n        CloseBlob(image);\n        if (local_9c == MagickFalse) goto LAB_00262f23;\n        pIVar22 = GetFirstImageInList(image);\n        goto LAB_002621b8;\n      }\n      if (((image_info->number_scenes != 0) &&\n          ((image_info->number_scenes + image_info->scene) - 1 <= image->scene)) || (uVar13 == 0))\n      goto LAB_0026266b;\n      uVar17 = (uint)uVar13 * 4;\n      bVar39 = CARRY4(local_94,uVar17);\n      local_94 = local_94 + uVar17;\n      local_90 = local_90 + (uint)bVar39;\n      MVar42 = GetBlobSize(image);\n      if ((longlong)MVar42 <= CONCAT44(local_90,local_94)) {\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x23e;\n        goto LAB_0026218b;\n      }\n      MVar41 = SeekBlob(image,CONCAT44(local_90,local_94),0);\n      if (MVar41 != CONCAT44(local_90,local_94)) {\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(image_info,image,exception);\n      pIVar22 = GetNextImageInList(image);\n      if (pIVar22 == (Image *)0x0) break;\n      image = SyncNextImageInList(image);\n      MVar42 = GetBlobSize(image);\n      MVar41 = TellBlob(image);\n      MVar15 = SetImageProgress(image,"Load/Images",MVar41,MVar42);\n    } while (MVar15 != MagickFalse);\n    CloseBlob(image);\nLAB_00262f23:\n    pIVar22 = DestroyImageList(image);\n  }\nLAB_002621b8:\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return pIVar22;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" { (declaration "double dVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "PixelChannelMap *pPVar3;" type_identifier (pointer_declarator "*pPVar3" * identifier) ;) (declaration "PixelTrait PVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "PixelTrait PVar6;" type_identifier identifier ;) (declaration "PixelTrait PVar7;" type_identifier identifier ;) (declaration "_Image *p_Var8;" type_identifier (pointer_declarator "*p_Var8" * identifier) ;) (declaration "ushort uVar9;" type_identifier identifier ;) (declaration "float fVar10;" primitive_type identifier ;) (declaration "float fVar11;" primitive_type identifier ;) (declaration "ushort uVar12;" type_identifier identifier ;) (declaration "ushort uVar13;" type_identifier identifier ;) (declaration "ushort uVar14;" type_identifier identifier ;) (declaration "Image *image;" type_identifier (pointer_declarator "*image" * identifier) ;) (declaration "MagickBooleanType MVar15;" type_identifier identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "ushort *__s;" type_identifier (pointer_declarator "*__s" * identifier) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "Quantum *pQVar21;" type_identifier (pointer_declarator "*pQVar21" * identifier) ;) (declaration "Image *pIVar22;" type_identifier (pointer_declarator "*pIVar22" * identifier) ;) (declaration "double *pdVar23;" primitive_type (pointer_declarator "*pdVar23" * identifier) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "byte *__s_00;" type_identifier (pointer_declarator "*__s_00" * identifier) ;) (declaration "size_t sVar27;" primitive_type identifier ;) (declaration "int *piVar28;" primitive_type (pointer_declarator "*piVar28" * identifier) ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "ushort *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "int iVar31;" primitive_type identifier ;) (declaration "uint uVar32;" type_identifier identifier ;) (declaration "ushort *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "PixelInfo *pPVar34;" type_identifier (pointer_declarator "*pPVar34" * identifier) ;) (expression_statement "uchar (*pauVar35) [3];" (subscript_expression "uchar (*pauVar35) [3]" (call_expression "uchar (*pauVar35)" identifier (argument_list "(*pauVar35)" ( (pointer_expression "*pauVar35" * identifier) ))) [ number_literal ]) ;) (expression_statement "uchar (*pauVar36) [3];" (subscript_expression "uchar (*pauVar36) [3]" (call_expression "uchar (*pauVar36)" identifier (argument_list "(*pauVar36)" ( (pointer_expression "*pauVar36" * identifier) ))) [ number_literal ]) ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "uint uVar37;" type_identifier identifier ;) (declaration "PixelInfo *pPVar38;" type_identifier (pointer_declarator "*pPVar38" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar39;" primitive_type identifier ;) (declaration "byte bVar40;" type_identifier identifier ;) (declaration "MagickOffsetType MVar41;" type_identifier identifier ;) (declaration "MagickSizeType MVar42;" type_identifier identifier ;) (declaration "size_t sVar43;" primitive_type identifier ;) (declaration "ExceptionType severity;" type_identifier identifier ;) (declaration "char *pcVar44;" primitive_type (pointer_declarator "*pcVar44" * identifier) ;) (declaration "int local_10c;" primitive_type identifier ;) (declaration "int local_f4;" primitive_type identifier ;) (declaration "int local_c8;" primitive_type identifier ;) (declaration "void *local_b0;" primitive_type (pointer_declarator "*local_b0" * identifier) ;) (declaration "uint local_ac;" type_identifier identifier ;) (declaration "int local_a8;" primitive_type identifier ;) (declaration "PixelInfo *local_a0;" type_identifier (pointer_declarator "*local_a0" * identifier) ;) (declaration "MagickBooleanType local_9c;" type_identifier identifier ;) (declaration "uint local_94;" type_identifier identifier ;) (declaration "int local_90;" primitive_type identifier ;) (declaration "PixelInfo transpix;" type_identifier identifier ;) (expression_statement "bVar40 = 0;" (assignment_expression "bVar40 = 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/palm.c",0x124,"ReadPALMImage");\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/palm.c",0x124,"ReadPALMImage");\n  }" { comment (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","coders/palm.c",0x124,"ReadPALMImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","coders/palm.c",0x124,"ReadPALMImage")" identifier (argument_list "("image_info != (const ImageInfo *) NULL","coders/palm.c",0x124,"ReadPALMImage")" ( (string_literal ""image_info != (const ImageInfo *) NULL"" " string_content ") , (string_literal ""coders/palm.c"" " string_content ") , number_literal , (string_literal ""ReadPALMImage"" " string_content ") ))) ;) })) (if_statement "if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,\n                  "ReadPALMImage");\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/palm.c",0x125,\n                  "ReadPALMImage");\n  }" { comment (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,\n                  "ReadPALMImage");" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,\n                  "ReadPALMImage")" identifier (argument_list "("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,\n                  "ReadPALMImage")" ( (string_literal ""image_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/palm.c"" " string_content ") , number_literal , (string_literal ""ReadPALMImage"" " string_content ") ))) ;) })) (if_statement "if (image_info->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"coders/palm.c","ReadPALMImage",0x127,"%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/palm.c","ReadPALMImage",0x127,"%s",image_info->filename);\n  }" { (expression_statement "LogMagickEvent(TraceEvent,"coders/palm.c","ReadPALMImage",0x127,"%s",image_info->filename);" (call_expression "LogMagickEvent(TraceEvent,"coders/palm.c","ReadPALMImage",0x127,"%s",image_info->filename)" identifier (argument_list "(TraceEvent,"coders/palm.c","ReadPALMImage",0x127,"%s",image_info->filename)" ( identifier , (string_literal ""coders/palm.c"" " string_content ") , (string_literal ""ReadPALMImage"" " 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/palm.c",0x129,"ReadPALMImage");\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/palm.c",0x129,"ReadPALMImage");\n  }" { comment (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage")" identifier (argument_list "("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage")" ( (string_literal ""exception != (ExceptionInfo *) NULL"" " string_content ") , (string_literal ""coders/palm.c"" " string_content ") , number_literal , (string_literal ""ReadPALMImage"" " string_content ") ))) ;) })) (if_statement "if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage");\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/palm.c",0x12a,\n                  "ReadPALMImage");\n  }" { comment (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage");" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage")" identifier (argument_list "("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage")" ( (string_literal ""exception->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/palm.c"" " string_content ") , number_literal , (string_literal ""ReadPALMImage"" " string_content ") ))) ;) })) (expression_statement "image = AcquireImage(image_info,exception);" (assignment_expression "image = AcquireImage(image_info,exception)" identifier = (call_expression "AcquireImage(image_info,exception)" identifier (argument_list "(image_info,exception)" ( identifier , identifier )))) ;) (expression_statement "MVar15 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);" (assignment_expression "MVar15 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception)" identifier = (call_expression "OpenBlob(image_info,image,ReadBinaryBlobMode,exception)" identifier (argument_list "(image_info,image,ReadBinaryBlobMode,exception)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (if_statement "if (MVar15 == MagickFalse) {\n    pIVar22 = (Image *)0x0;\n    DestroyImageList(image);\n  }\n  else {\n    do {\n      uVar12 = ReadBlobMSBShort(image);\n      image->columns = (uint)uVar12;\n      uVar12 = ReadBlobMSBShort(image);\n      image->rows = (uint)uVar12;\n      iVar16 = EOFBlob(image);\n      if (iVar16 != 0) {\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (exception,"coders/palm.c","ReadPALMImage",sVar43,severity,pcVar44,"`%s\'",\n                   image_info->filename);\n        CloseBlob(image);\n        DestroyImageList(image);\n        pIVar22 = (Image *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((image->columns == 0) || (image->rows == 0)) {\n        pcVar44 = "NegativeOrZeroImageSize";\n        severity = CorruptImageError;\n        sVar43 = 0x13a;\n        goto LAB_0026218b;\n      }\n      MVar15 = SetImageExtent(image,image->columns,image->rows,exception);\n      if (MVar15 == MagickFalse) goto LAB_00262f23;\n      SetImageBackgroundColor(image,exception);\n      uVar12 = ReadBlobMSBShort(image);\n      uVar17 = (uint)uVar12;\n      uVar12 = ReadBlobMSBShort(image);\n      uVar18 = ReadBlobByte(image);\n      if ((0x10 < uVar18) || ((0x10116U >> (uVar18 & 0x1f) & 1) == 0)) {\n        pcVar44 = "UnsupportedBitsPerPixel";\n        severity = CorruptImageError;\n        sVar43 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar19 = ReadBlobByte(image);\n      if (2 < uVar19) {\n        pcVar44 = "FileFormatVersionMismatch";\n        severity = CorruptImageError;\n        sVar43 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar13 = ReadBlobMSBShort(image);\n      iVar16 = ReadBlobByte(image);\n      uVar19 = ReadBlobByte(image);\n      if ((uVar19 != 0xff) && (1 < uVar19)) {\n        pcVar44 = "UnrecognizedImageCompression";\n        severity = CorruptImageError;\n        sVar43 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(image);\n      if (uVar18 == 0x10) {\n        GetPixelInfo(image,&transpix);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        iVar20 = ReadBlobByte(image);\n        fVar10 = DAT_00306a38;\n        fVar11 = DAT_002df8a8;\n        transpix.red = (MagickRealType)((DAT_002df8a8 * (float)iVar20) / DAT_00306a38);\n        iVar20 = ReadBlobByte(image);\n        transpix.green = (MagickRealType)(((float)iVar20 * fVar11) / DAT_0030d3a4);\n        iVar20 = ReadBlobByte(image);\n        transpix.blue = (MagickRealType)(((float)iVar20 * fVar11) / fVar10);\n        if ((short)uVar12 < 0) goto LAB_00262c40;\n        image->storage_class = DirectClass;\n      }\n      else {\n        MVar15 = AcquireImageColormap(image,1 << ((byte)uVar18 & 0x1f),exception);\n        if (MVar15 == MagickFalse) {\n          pcVar44 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar43 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(image,&transpix);\n        if (uVar18 == 8) {\n          if ((uVar12 & 0x4000) == 0) {\n            iVar20 = 0xff;\n            pauVar36 = PalmPalette;\n            do {\n              if (iVar20 < (int)image->colors) {\n                local_10c = iVar20 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (exception->severity != CorruptImageError) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                             0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n                }\n              }\n              fVar11 = DAT_002e814c;\n              pPVar34 = image->colormap;\n              pauVar35 = pauVar36 + 1;\n              iVar20 = iVar20 + -1;\n              *(double *)((int)&pPVar34->red + local_10c) =\n                   (double)((float)(*pauVar36)[0] * DAT_002e814c);\n              *(double *)((int)&pPVar34->green + local_10c) =\n                   (double)((float)(*pauVar36)[1] * fVar11);\n              *(double *)((int)&pPVar34->blue + local_10c) =\n                   (double)((float)(*pauVar36)[2] * fVar11);\n              pauVar36 = pauVar35;\n            } while (pauVar35 != (uchar (*) [3])"Pango Markup Language");\n          }\n          else {\n            uVar14 = ReadBlobMSBShort(image);\n            if (uVar14 != 0) {\n              iVar20 = 0xff;\n              do {\n                ReadBlobByte(image);\n                if ((iVar20 < 0) || ((int)image->colors <= iVar20)) {\n                  iVar25 = 0;\n                  if (exception->severity != CorruptImageError) {\n                    ThrowMagickException\n                              (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename\n                              );\n                  }\n                }\n                else {\n                  iVar25 = iVar20 * 0x50;\n                }\n                iVar20 = iVar20 + -1;\n                uVar24 = ReadBlobByte(image);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)((int)&image->colormap->red + iVar25) =\n                     (double)((float)(uVar24 & 0xff) * DAT_002e814c);\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->green + iVar25) = dVar1 * (double)(uVar24 & 0xff)\n                ;\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->blue + iVar25) = dVar1 * (double)(uVar24 & 0xff);\n              } while (0xff - (uint)uVar14 != iVar20);\n            }\n          }\n          if ((short)uVar12 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar12 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(image);\n          }\n          image->storage_class = DirectClass;\n          if (uVar18 == 0x10) goto LAB_002622bf;\n        }\n        image->storage_class = PseudoClass;\n        image->depth = 8;\n      }\nLAB_002622bf:\n      local_a0 = &transpix;\n      if (image_info->ping != MagickFalse) {\n        CloseBlob(image);\n        pIVar22 = image;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(image,image->columns,image->rows,exception);\n      if (local_9c == MagickFalse) goto LAB_00262f23;\n      uVar24 = image->columns * 2;\n      if (uVar24 < uVar17) {\n        uVar24 = uVar17;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar24,1);\n      if (__s == (ushort *)0x0) {\n        pcVar44 = "MemoryAllocationFailed";\n        severity = ErrorException;\n        sVar43 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar24);\n      local_b0 = (void *)0x0;\n      if (uVar19 == 0) {\n        uVar24 = image->columns * 2;\n        if (uVar24 < uVar17) {\n          uVar24 = uVar17;\n        }\n        local_b0 = AcquireQuantumMemory(uVar24,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar44 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar43 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar24 = image->columns * 2;\n        if (uVar24 < uVar17) {\n          uVar24 = uVar17;\n        }\n        memset(local_b0,0,uVar24);\n      }\n      iVar20 = (1 << ((byte)uVar18 & 0x1f)) + -1;\n      if (0 < (int)image->rows) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar12 < 0) {\n            if (uVar19 == 1) {\n              image->compression = RLECompression;\n              if (uVar17 != 0) {\n                iVar25 = 0;\n                do {\n                  sVar27 = ReadBlobByte(image);\n                  if ((int)sVar27 < 0) break;\n                  __n = uVar17 - iVar25;\n                  if ((int)sVar27 < (int)(uVar17 - iVar25)) {\n                    __n = sVar27;\n                  }\n                  iVar26 = ReadBlobByte(image);\n                  __s_00 = (byte *)((int)__s + iVar25);\n                  iVar25 = iVar25 + __n;\n                  memset(__s_00,iVar26,__n);\n                } while (iVar25 < (int)uVar17);\n              }\n            }\n            else if (uVar19 == 0) {\n              image->compression = FaxCompression;\n              if (uVar17 != 0) {\n                local_f4 = 0;\n                puVar33 = __s;\n                do {\n                  uVar24 = ReadBlobByte(image);\n                  if ((int)uVar24 < 0) break;\n                  uVar37 = uVar17 - local_f4;\n                  if ((int)uVar37 < 8) {\n                    if (uVar37 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar37 = 8;\nLAB_002629c0:\n                    uVar32 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                    else {\n                      uVar32 = 0;\n                      do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar33 = puVar33 + 4;\n                } while (local_f4 != (uVar17 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar17);\n            }\n          }\n          else {\n            image->compression = NoCompression;\n            uVar24 = ReadBlob(image,uVar17,__s);\n            if (uVar24 != uVar17) break;\n          }\n          pQVar21 = QueueAuthenticPixels(image,0,local_c8,image->columns,1,exception);\n          fVar11 = DAT_002df8a8;\n          if (pQVar21 == (Quantum *)0x0) break;\n          uVar24 = image->columns;\n          if (uVar18 != 0x10) {\n            if (0 < (int)uVar24) {\n              if (uVar17 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar19 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar44 = "CorruptImage";\n                severity = CorruptImageError;\n                sVar43 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar31 = 0;\n              pPVar3 = image->channel_map;\n              PVar4 = pPVar3[5].traits;\n              pPVar34 = image->colormap;\n              sVar43 = image->number_channels;\n              iVar25 = pPVar3->offset;\n              iVar26 = pPVar3[1].offset;\n              iVar5 = pPVar3[2].offset;\n              PVar6 = pPVar3[3].traits;\n              PVar7 = pPVar3[4].traits;\n              iVar29 = 8 - uVar18;\n              puVar33 = __s;\n              while( true ) {\n                uVar37 = iVar20 - (((uint)(byte)*puVar33 & iVar20 << ((byte)iVar29 & 0x1f)) >>\n                                  ((byte)iVar29 & 0x1f));\n                if (PVar4 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[5].offset] = (double)uVar37;\n                }\n                pQVar21[iVar25] = pPVar34[uVar37].red;\n                pQVar21[iVar26] = pPVar34[uVar37].green;\n                pQVar21[iVar5] = pPVar34[uVar37].blue;\n                if (PVar6 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[3].offset] = pPVar34[uVar37].black;\n                }\n                if (PVar7 != UndefinedPixelTrait) {\n                  fVar10 = fVar11;\n                  if (pPVar34[uVar37].alpha_trait != UndefinedPixelTrait) {\n                    fVar10 = (float)pPVar34[uVar37].alpha;\n                  }\n                  pQVar21[pPVar3[4].offset] = (double)fVar10;\n                }\n                if (iVar29 == 0) {\n                  puVar33 = (ushort *)((int)puVar33 + 1);\n                  iVar29 = 8 - uVar18;\n                }\n                else {\n                  iVar29 = iVar29 - uVar18;\n                }\n                if (uVar24 == iVar31 + 1U) break;\n                iVar31 = iVar31 + 1;\n                pQVar21 = pQVar21 + sVar43;\n                if (uVar17 <= (uint)((int)puVar33 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            MVar15 = SyncAuthenticPixels(image,exception);\n            if (MVar15 != MagickFalse) goto LAB_00262579;\n            break;\n          }\n          if (uVar17 * 2 < uVar24) {\n            RelinquishMagickMemory(__s);\n            if (uVar19 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar44 = "CorruptImage";\n            severity = CorruptImageError;\n            sVar43 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar24 == 0) {\nLAB_00262579:\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }\n          else {\n            pPVar3 = image->channel_map;\n            sVar43 = image->number_channels;\n            iVar25 = pPVar3[1].offset;\n            iVar26 = pPVar3->offset;\n            iVar5 = pPVar3[2].offset;\n            if (pPVar3[4].traits != UndefinedPixelTrait) {\n              iVar29 = pPVar3[4].offset;\n              puVar33 = __s;\n              do {\n                fVar10 = DAT_00306a38;\n                puVar30 = puVar33 + 1;\n                uVar14 = *puVar33 << 8;\n                uVar9 = *puVar33 >> 8;\n                pQVar21[iVar26] = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n                pQVar21[iVar25] =\n                     (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n                pQVar21[iVar5] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n                pQVar21[iVar29] = (double)fVar11;\n                pQVar21 = pQVar21 + sVar43;\n                puVar33 = puVar30;\n              } while (puVar30 != __s + uVar24);\n              goto LAB_00262579;\n            }\n            pdVar23 = pQVar21 + iVar26;\n            puVar33 = __s;\n            do {\n              fVar10 = DAT_00306a38;\n              puVar30 = puVar33 + 1;\n              uVar14 = *puVar33 << 8;\n              uVar9 = *puVar33 >> 8;\n              *pdVar23 = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n              pdVar23[iVar25 - iVar26] =\n                   (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n              pdVar23[iVar5 - iVar26] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n              pdVar23 = pdVar23 + sVar43;\n              puVar33 = puVar30;\n            } while (__s + uVar24 != puVar30);\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }\n          if (p_Var8 == (_Image *)0x0) {\n            local_9c = SetImageProgress(image,"Load/Image",CONCAT44(local_a8,local_ac),\n                                        (ulonglong)uVar24);\n            if (local_9c == MagickFalse) break;\n            uVar24 = image->rows;\n          }\n          local_c8 = local_c8 + 1;\n          bVar39 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar39;\n        } while (local_c8 < (int)uVar24);\n      }\n      if ((uVar12 & 0x2000) != 0) {\n        iVar20 = iVar20 - iVar16;\n        if (((iVar20 < 0) || ((int)image->colors <= iVar20)) &&\n           (iVar20 = 0, exception->severity != CorruptImageError)) {\n          ThrowMagickException\n                    (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,\n                     CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n        }\n        if (uVar18 != 0x10) {\n          pPVar34 = image->colormap + iVar20;\n          pPVar38 = local_a0;\n          for (iVar16 = 0x14; iVar16 != 0; iVar16 = iVar16 + -1) {\n            pPVar38->storage_class = pPVar34->storage_class;\n            pPVar34 = (PixelInfo *)((int)pPVar34 + (uint)bVar40 * -8 + 4);\n            pPVar38 = (PixelInfo *)((int)pPVar38 + (uint)bVar40 * -8 + 4);\n          }\n        }\n        TransparentPaintImage(image,local_a0,0.0,MagickFalse,exception);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar19 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar16 = EOFBlob(image);\n      if (iVar16 != 0) {\n        piVar28 = __errno_location();\n        pcVar44 = GetExceptionMessage(*piVar28);\n        ThrowMagickException\n                  (exception,"coders/palm.c","ReadPALMImage",0x22e,CorruptImageError,\n                   "UnexpectedEndOfFile","\'%s\': %s");\n        DestroyString(pcVar44);\nLAB_0026266b:\n        CloseBlob(image);\n        if (local_9c == MagickFalse) goto LAB_00262f23;\n        pIVar22 = GetFirstImageInList(image);\n        goto LAB_002621b8;\n      }\n      if (((image_info->number_scenes != 0) &&\n          ((image_info->number_scenes + image_info->scene) - 1 <= image->scene)) || (uVar13 == 0))\n      goto LAB_0026266b;\n      uVar17 = (uint)uVar13 * 4;\n      bVar39 = CARRY4(local_94,uVar17);\n      local_94 = local_94 + uVar17;\n      local_90 = local_90 + (uint)bVar39;\n      MVar42 = GetBlobSize(image);\n      if ((longlong)MVar42 <= CONCAT44(local_90,local_94)) {\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x23e;\n        goto LAB_0026218b;\n      }\n      MVar41 = SeekBlob(image,CONCAT44(local_90,local_94),0);\n      if (MVar41 != CONCAT44(local_90,local_94)) {\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(image_info,image,exception);\n      pIVar22 = GetNextImageInList(image);\n      if (pIVar22 == (Image *)0x0) break;\n      image = SyncNextImageInList(image);\n      MVar42 = GetBlobSize(image);\n      MVar41 = TellBlob(image);\n      MVar15 = SetImageProgress(image,"Load/Images",MVar41,MVar42);\n    } while (MVar15 != MagickFalse);\n    CloseBlob(image);\nLAB_00262f23:\n    pIVar22 = DestroyImageList(image);\n  }" if (parenthesized_expression "(MVar15 == MagickFalse)" ( (binary_expression "MVar15 == MagickFalse" identifier == identifier) )) (compound_statement "{\n    pIVar22 = (Image *)0x0;\n    DestroyImageList(image);\n  }" { (expression_statement "pIVar22 = (Image *)0x0;" (assignment_expression "pIVar22 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "DestroyImageList(image);" (call_expression "DestroyImageList(image)" identifier (argument_list "(image)" ( identifier ))) ;) }) (else_clause "else {\n    do {\n      uVar12 = ReadBlobMSBShort(image);\n      image->columns = (uint)uVar12;\n      uVar12 = ReadBlobMSBShort(image);\n      image->rows = (uint)uVar12;\n      iVar16 = EOFBlob(image);\n      if (iVar16 != 0) {\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (exception,"coders/palm.c","ReadPALMImage",sVar43,severity,pcVar44,"`%s\'",\n                   image_info->filename);\n        CloseBlob(image);\n        DestroyImageList(image);\n        pIVar22 = (Image *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((image->columns == 0) || (image->rows == 0)) {\n        pcVar44 = "NegativeOrZeroImageSize";\n        severity = CorruptImageError;\n        sVar43 = 0x13a;\n        goto LAB_0026218b;\n      }\n      MVar15 = SetImageExtent(image,image->columns,image->rows,exception);\n      if (MVar15 == MagickFalse) goto LAB_00262f23;\n      SetImageBackgroundColor(image,exception);\n      uVar12 = ReadBlobMSBShort(image);\n      uVar17 = (uint)uVar12;\n      uVar12 = ReadBlobMSBShort(image);\n      uVar18 = ReadBlobByte(image);\n      if ((0x10 < uVar18) || ((0x10116U >> (uVar18 & 0x1f) & 1) == 0)) {\n        pcVar44 = "UnsupportedBitsPerPixel";\n        severity = CorruptImageError;\n        sVar43 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar19 = ReadBlobByte(image);\n      if (2 < uVar19) {\n        pcVar44 = "FileFormatVersionMismatch";\n        severity = CorruptImageError;\n        sVar43 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar13 = ReadBlobMSBShort(image);\n      iVar16 = ReadBlobByte(image);\n      uVar19 = ReadBlobByte(image);\n      if ((uVar19 != 0xff) && (1 < uVar19)) {\n        pcVar44 = "UnrecognizedImageCompression";\n        severity = CorruptImageError;\n        sVar43 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(image);\n      if (uVar18 == 0x10) {\n        GetPixelInfo(image,&transpix);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        iVar20 = ReadBlobByte(image);\n        fVar10 = DAT_00306a38;\n        fVar11 = DAT_002df8a8;\n        transpix.red = (MagickRealType)((DAT_002df8a8 * (float)iVar20) / DAT_00306a38);\n        iVar20 = ReadBlobByte(image);\n        transpix.green = (MagickRealType)(((float)iVar20 * fVar11) / DAT_0030d3a4);\n        iVar20 = ReadBlobByte(image);\n        transpix.blue = (MagickRealType)(((float)iVar20 * fVar11) / fVar10);\n        if ((short)uVar12 < 0) goto LAB_00262c40;\n        image->storage_class = DirectClass;\n      }\n      else {\n        MVar15 = AcquireImageColormap(image,1 << ((byte)uVar18 & 0x1f),exception);\n        if (MVar15 == MagickFalse) {\n          pcVar44 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar43 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(image,&transpix);\n        if (uVar18 == 8) {\n          if ((uVar12 & 0x4000) == 0) {\n            iVar20 = 0xff;\n            pauVar36 = PalmPalette;\n            do {\n              if (iVar20 < (int)image->colors) {\n                local_10c = iVar20 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (exception->severity != CorruptImageError) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                             0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n                }\n              }\n              fVar11 = DAT_002e814c;\n              pPVar34 = image->colormap;\n              pauVar35 = pauVar36 + 1;\n              iVar20 = iVar20 + -1;\n              *(double *)((int)&pPVar34->red + local_10c) =\n                   (double)((float)(*pauVar36)[0] * DAT_002e814c);\n              *(double *)((int)&pPVar34->green + local_10c) =\n                   (double)((float)(*pauVar36)[1] * fVar11);\n              *(double *)((int)&pPVar34->blue + local_10c) =\n                   (double)((float)(*pauVar36)[2] * fVar11);\n              pauVar36 = pauVar35;\n            } while (pauVar35 != (uchar (*) [3])"Pango Markup Language");\n          }\n          else {\n            uVar14 = ReadBlobMSBShort(image);\n            if (uVar14 != 0) {\n              iVar20 = 0xff;\n              do {\n                ReadBlobByte(image);\n                if ((iVar20 < 0) || ((int)image->colors <= iVar20)) {\n                  iVar25 = 0;\n                  if (exception->severity != CorruptImageError) {\n                    ThrowMagickException\n                              (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename\n                              );\n                  }\n                }\n                else {\n                  iVar25 = iVar20 * 0x50;\n                }\n                iVar20 = iVar20 + -1;\n                uVar24 = ReadBlobByte(image);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)((int)&image->colormap->red + iVar25) =\n                     (double)((float)(uVar24 & 0xff) * DAT_002e814c);\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->green + iVar25) = dVar1 * (double)(uVar24 & 0xff)\n                ;\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->blue + iVar25) = dVar1 * (double)(uVar24 & 0xff);\n              } while (0xff - (uint)uVar14 != iVar20);\n            }\n          }\n          if ((short)uVar12 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar12 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(image);\n          }\n          image->storage_class = DirectClass;\n          if (uVar18 == 0x10) goto LAB_002622bf;\n        }\n        image->storage_class = PseudoClass;\n        image->depth = 8;\n      }\nLAB_002622bf:\n      local_a0 = &transpix;\n      if (image_info->ping != MagickFalse) {\n        CloseBlob(image);\n        pIVar22 = image;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(image,image->columns,image->rows,exception);\n      if (local_9c == MagickFalse) goto LAB_00262f23;\n      uVar24 = image->columns * 2;\n      if (uVar24 < uVar17) {\n        uVar24 = uVar17;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar24,1);\n      if (__s == (ushort *)0x0) {\n        pcVar44 = "MemoryAllocationFailed";\n        severity = ErrorException;\n        sVar43 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar24);\n      local_b0 = (void *)0x0;\n      if (uVar19 == 0) {\n        uVar24 = image->columns * 2;\n        if (uVar24 < uVar17) {\n          uVar24 = uVar17;\n        }\n        local_b0 = AcquireQuantumMemory(uVar24,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar44 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar43 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar24 = image->columns * 2;\n        if (uVar24 < uVar17) {\n          uVar24 = uVar17;\n        }\n        memset(local_b0,0,uVar24);\n      }\n      iVar20 = (1 << ((byte)uVar18 & 0x1f)) + -1;\n      if (0 < (int)image->rows) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar12 < 0) {\n            if (uVar19 == 1) {\n              image->compression = RLECompression;\n              if (uVar17 != 0) {\n                iVar25 = 0;\n                do {\n                  sVar27 = ReadBlobByte(image);\n                  if ((int)sVar27 < 0) break;\n                  __n = uVar17 - iVar25;\n                  if ((int)sVar27 < (int)(uVar17 - iVar25)) {\n                    __n = sVar27;\n                  }\n                  iVar26 = ReadBlobByte(image);\n                  __s_00 = (byte *)((int)__s + iVar25);\n                  iVar25 = iVar25 + __n;\n                  memset(__s_00,iVar26,__n);\n                } while (iVar25 < (int)uVar17);\n              }\n            }\n            else if (uVar19 == 0) {\n              image->compression = FaxCompression;\n              if (uVar17 != 0) {\n                local_f4 = 0;\n                puVar33 = __s;\n                do {\n                  uVar24 = ReadBlobByte(image);\n                  if ((int)uVar24 < 0) break;\n                  uVar37 = uVar17 - local_f4;\n                  if ((int)uVar37 < 8) {\n                    if (uVar37 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar37 = 8;\nLAB_002629c0:\n                    uVar32 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                    else {\n                      uVar32 = 0;\n                      do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar33 = puVar33 + 4;\n                } while (local_f4 != (uVar17 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar17);\n            }\n          }\n          else {\n            image->compression = NoCompression;\n            uVar24 = ReadBlob(image,uVar17,__s);\n            if (uVar24 != uVar17) break;\n          }\n          pQVar21 = QueueAuthenticPixels(image,0,local_c8,image->columns,1,exception);\n          fVar11 = DAT_002df8a8;\n          if (pQVar21 == (Quantum *)0x0) break;\n          uVar24 = image->columns;\n          if (uVar18 != 0x10) {\n            if (0 < (int)uVar24) {\n              if (uVar17 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar19 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar44 = "CorruptImage";\n                severity = CorruptImageError;\n                sVar43 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar31 = 0;\n              pPVar3 = image->channel_map;\n              PVar4 = pPVar3[5].traits;\n              pPVar34 = image->colormap;\n              sVar43 = image->number_channels;\n              iVar25 = pPVar3->offset;\n              iVar26 = pPVar3[1].offset;\n              iVar5 = pPVar3[2].offset;\n              PVar6 = pPVar3[3].traits;\n              PVar7 = pPVar3[4].traits;\n              iVar29 = 8 - uVar18;\n              puVar33 = __s;\n              while( true ) {\n                uVar37 = iVar20 - (((uint)(byte)*puVar33 & iVar20 << ((byte)iVar29 & 0x1f)) >>\n                                  ((byte)iVar29 & 0x1f));\n                if (PVar4 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[5].offset] = (double)uVar37;\n                }\n                pQVar21[iVar25] = pPVar34[uVar37].red;\n                pQVar21[iVar26] = pPVar34[uVar37].green;\n                pQVar21[iVar5] = pPVar34[uVar37].blue;\n                if (PVar6 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[3].offset] = pPVar34[uVar37].black;\n                }\n                if (PVar7 != UndefinedPixelTrait) {\n                  fVar10 = fVar11;\n                  if (pPVar34[uVar37].alpha_trait != UndefinedPixelTrait) {\n                    fVar10 = (float)pPVar34[uVar37].alpha;\n                  }\n                  pQVar21[pPVar3[4].offset] = (double)fVar10;\n                }\n                if (iVar29 == 0) {\n                  puVar33 = (ushort *)((int)puVar33 + 1);\n                  iVar29 = 8 - uVar18;\n                }\n                else {\n                  iVar29 = iVar29 - uVar18;\n                }\n                if (uVar24 == iVar31 + 1U) break;\n                iVar31 = iVar31 + 1;\n                pQVar21 = pQVar21 + sVar43;\n                if (uVar17 <= (uint)((int)puVar33 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            MVar15 = SyncAuthenticPixels(image,exception);\n            if (MVar15 != MagickFalse) goto LAB_00262579;\n            break;\n          }\n          if (uVar17 * 2 < uVar24) {\n            RelinquishMagickMemory(__s);\n            if (uVar19 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar44 = "CorruptImage";\n            severity = CorruptImageError;\n            sVar43 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar24 == 0) {\nLAB_00262579:\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }\n          else {\n            pPVar3 = image->channel_map;\n            sVar43 = image->number_channels;\n            iVar25 = pPVar3[1].offset;\n            iVar26 = pPVar3->offset;\n            iVar5 = pPVar3[2].offset;\n            if (pPVar3[4].traits != UndefinedPixelTrait) {\n              iVar29 = pPVar3[4].offset;\n              puVar33 = __s;\n              do {\n                fVar10 = DAT_00306a38;\n                puVar30 = puVar33 + 1;\n                uVar14 = *puVar33 << 8;\n                uVar9 = *puVar33 >> 8;\n                pQVar21[iVar26] = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n                pQVar21[iVar25] =\n                     (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n                pQVar21[iVar5] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n                pQVar21[iVar29] = (double)fVar11;\n                pQVar21 = pQVar21 + sVar43;\n                puVar33 = puVar30;\n              } while (puVar30 != __s + uVar24);\n              goto LAB_00262579;\n            }\n            pdVar23 = pQVar21 + iVar26;\n            puVar33 = __s;\n            do {\n              fVar10 = DAT_00306a38;\n              puVar30 = puVar33 + 1;\n              uVar14 = *puVar33 << 8;\n              uVar9 = *puVar33 >> 8;\n              *pdVar23 = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n              pdVar23[iVar25 - iVar26] =\n                   (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n              pdVar23[iVar5 - iVar26] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n              pdVar23 = pdVar23 + sVar43;\n              puVar33 = puVar30;\n            } while (__s + uVar24 != puVar30);\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }\n          if (p_Var8 == (_Image *)0x0) {\n            local_9c = SetImageProgress(image,"Load/Image",CONCAT44(local_a8,local_ac),\n                                        (ulonglong)uVar24);\n            if (local_9c == MagickFalse) break;\n            uVar24 = image->rows;\n          }\n          local_c8 = local_c8 + 1;\n          bVar39 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar39;\n        } while (local_c8 < (int)uVar24);\n      }\n      if ((uVar12 & 0x2000) != 0) {\n        iVar20 = iVar20 - iVar16;\n        if (((iVar20 < 0) || ((int)image->colors <= iVar20)) &&\n           (iVar20 = 0, exception->severity != CorruptImageError)) {\n          ThrowMagickException\n                    (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,\n                     CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n        }\n        if (uVar18 != 0x10) {\n          pPVar34 = image->colormap + iVar20;\n          pPVar38 = local_a0;\n          for (iVar16 = 0x14; iVar16 != 0; iVar16 = iVar16 + -1) {\n            pPVar38->storage_class = pPVar34->storage_class;\n            pPVar34 = (PixelInfo *)((int)pPVar34 + (uint)bVar40 * -8 + 4);\n            pPVar38 = (PixelInfo *)((int)pPVar38 + (uint)bVar40 * -8 + 4);\n          }\n        }\n        TransparentPaintImage(image,local_a0,0.0,MagickFalse,exception);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar19 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar16 = EOFBlob(image);\n      if (iVar16 != 0) {\n        piVar28 = __errno_location();\n        pcVar44 = GetExceptionMessage(*piVar28);\n        ThrowMagickException\n                  (exception,"coders/palm.c","ReadPALMImage",0x22e,CorruptImageError,\n                   "UnexpectedEndOfFile","\'%s\': %s");\n        DestroyString(pcVar44);\nLAB_0026266b:\n        CloseBlob(image);\n        if (local_9c == MagickFalse) goto LAB_00262f23;\n        pIVar22 = GetFirstImageInList(image);\n        goto LAB_002621b8;\n      }\n      if (((image_info->number_scenes != 0) &&\n          ((image_info->number_scenes + image_info->scene) - 1 <= image->scene)) || (uVar13 == 0))\n      goto LAB_0026266b;\n      uVar17 = (uint)uVar13 * 4;\n      bVar39 = CARRY4(local_94,uVar17);\n      local_94 = local_94 + uVar17;\n      local_90 = local_90 + (uint)bVar39;\n      MVar42 = GetBlobSize(image);\n      if ((longlong)MVar42 <= CONCAT44(local_90,local_94)) {\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x23e;\n        goto LAB_0026218b;\n      }\n      MVar41 = SeekBlob(image,CONCAT44(local_90,local_94),0);\n      if (MVar41 != CONCAT44(local_90,local_94)) {\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(image_info,image,exception);\n      pIVar22 = GetNextImageInList(image);\n      if (pIVar22 == (Image *)0x0) break;\n      image = SyncNextImageInList(image);\n      MVar42 = GetBlobSize(image);\n      MVar41 = TellBlob(image);\n      MVar15 = SetImageProgress(image,"Load/Images",MVar41,MVar42);\n    } while (MVar15 != MagickFalse);\n    CloseBlob(image);\nLAB_00262f23:\n    pIVar22 = DestroyImageList(image);\n  }" else (compound_statement "{\n    do {\n      uVar12 = ReadBlobMSBShort(image);\n      image->columns = (uint)uVar12;\n      uVar12 = ReadBlobMSBShort(image);\n      image->rows = (uint)uVar12;\n      iVar16 = EOFBlob(image);\n      if (iVar16 != 0) {\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (exception,"coders/palm.c","ReadPALMImage",sVar43,severity,pcVar44,"`%s\'",\n                   image_info->filename);\n        CloseBlob(image);\n        DestroyImageList(image);\n        pIVar22 = (Image *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((image->columns == 0) || (image->rows == 0)) {\n        pcVar44 = "NegativeOrZeroImageSize";\n        severity = CorruptImageError;\n        sVar43 = 0x13a;\n        goto LAB_0026218b;\n      }\n      MVar15 = SetImageExtent(image,image->columns,image->rows,exception);\n      if (MVar15 == MagickFalse) goto LAB_00262f23;\n      SetImageBackgroundColor(image,exception);\n      uVar12 = ReadBlobMSBShort(image);\n      uVar17 = (uint)uVar12;\n      uVar12 = ReadBlobMSBShort(image);\n      uVar18 = ReadBlobByte(image);\n      if ((0x10 < uVar18) || ((0x10116U >> (uVar18 & 0x1f) & 1) == 0)) {\n        pcVar44 = "UnsupportedBitsPerPixel";\n        severity = CorruptImageError;\n        sVar43 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar19 = ReadBlobByte(image);\n      if (2 < uVar19) {\n        pcVar44 = "FileFormatVersionMismatch";\n        severity = CorruptImageError;\n        sVar43 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar13 = ReadBlobMSBShort(image);\n      iVar16 = ReadBlobByte(image);\n      uVar19 = ReadBlobByte(image);\n      if ((uVar19 != 0xff) && (1 < uVar19)) {\n        pcVar44 = "UnrecognizedImageCompression";\n        severity = CorruptImageError;\n        sVar43 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(image);\n      if (uVar18 == 0x10) {\n        GetPixelInfo(image,&transpix);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        iVar20 = ReadBlobByte(image);\n        fVar10 = DAT_00306a38;\n        fVar11 = DAT_002df8a8;\n        transpix.red = (MagickRealType)((DAT_002df8a8 * (float)iVar20) / DAT_00306a38);\n        iVar20 = ReadBlobByte(image);\n        transpix.green = (MagickRealType)(((float)iVar20 * fVar11) / DAT_0030d3a4);\n        iVar20 = ReadBlobByte(image);\n        transpix.blue = (MagickRealType)(((float)iVar20 * fVar11) / fVar10);\n        if ((short)uVar12 < 0) goto LAB_00262c40;\n        image->storage_class = DirectClass;\n      }\n      else {\n        MVar15 = AcquireImageColormap(image,1 << ((byte)uVar18 & 0x1f),exception);\n        if (MVar15 == MagickFalse) {\n          pcVar44 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar43 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(image,&transpix);\n        if (uVar18 == 8) {\n          if ((uVar12 & 0x4000) == 0) {\n            iVar20 = 0xff;\n            pauVar36 = PalmPalette;\n            do {\n              if (iVar20 < (int)image->colors) {\n                local_10c = iVar20 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (exception->severity != CorruptImageError) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                             0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n                }\n              }\n              fVar11 = DAT_002e814c;\n              pPVar34 = image->colormap;\n              pauVar35 = pauVar36 + 1;\n              iVar20 = iVar20 + -1;\n              *(double *)((int)&pPVar34->red + local_10c) =\n                   (double)((float)(*pauVar36)[0] * DAT_002e814c);\n              *(double *)((int)&pPVar34->green + local_10c) =\n                   (double)((float)(*pauVar36)[1] * fVar11);\n              *(double *)((int)&pPVar34->blue + local_10c) =\n                   (double)((float)(*pauVar36)[2] * fVar11);\n              pauVar36 = pauVar35;\n            } while (pauVar35 != (uchar (*) [3])"Pango Markup Language");\n          }\n          else {\n            uVar14 = ReadBlobMSBShort(image);\n            if (uVar14 != 0) {\n              iVar20 = 0xff;\n              do {\n                ReadBlobByte(image);\n                if ((iVar20 < 0) || ((int)image->colors <= iVar20)) {\n                  iVar25 = 0;\n                  if (exception->severity != CorruptImageError) {\n                    ThrowMagickException\n                              (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename\n                              );\n                  }\n                }\n                else {\n                  iVar25 = iVar20 * 0x50;\n                }\n                iVar20 = iVar20 + -1;\n                uVar24 = ReadBlobByte(image);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)((int)&image->colormap->red + iVar25) =\n                     (double)((float)(uVar24 & 0xff) * DAT_002e814c);\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->green + iVar25) = dVar1 * (double)(uVar24 & 0xff)\n                ;\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->blue + iVar25) = dVar1 * (double)(uVar24 & 0xff);\n              } while (0xff - (uint)uVar14 != iVar20);\n            }\n          }\n          if ((short)uVar12 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar12 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(image);\n          }\n          image->storage_class = DirectClass;\n          if (uVar18 == 0x10) goto LAB_002622bf;\n        }\n        image->storage_class = PseudoClass;\n        image->depth = 8;\n      }\nLAB_002622bf:\n      local_a0 = &transpix;\n      if (image_info->ping != MagickFalse) {\n        CloseBlob(image);\n        pIVar22 = image;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(image,image->columns,image->rows,exception);\n      if (local_9c == MagickFalse) goto LAB_00262f23;\n      uVar24 = image->columns * 2;\n      if (uVar24 < uVar17) {\n        uVar24 = uVar17;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar24,1);\n      if (__s == (ushort *)0x0) {\n        pcVar44 = "MemoryAllocationFailed";\n        severity = ErrorException;\n        sVar43 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar24);\n      local_b0 = (void *)0x0;\n      if (uVar19 == 0) {\n        uVar24 = image->columns * 2;\n        if (uVar24 < uVar17) {\n          uVar24 = uVar17;\n        }\n        local_b0 = AcquireQuantumMemory(uVar24,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar44 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar43 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar24 = image->columns * 2;\n        if (uVar24 < uVar17) {\n          uVar24 = uVar17;\n        }\n        memset(local_b0,0,uVar24);\n      }\n      iVar20 = (1 << ((byte)uVar18 & 0x1f)) + -1;\n      if (0 < (int)image->rows) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar12 < 0) {\n            if (uVar19 == 1) {\n              image->compression = RLECompression;\n              if (uVar17 != 0) {\n                iVar25 = 0;\n                do {\n                  sVar27 = ReadBlobByte(image);\n                  if ((int)sVar27 < 0) break;\n                  __n = uVar17 - iVar25;\n                  if ((int)sVar27 < (int)(uVar17 - iVar25)) {\n                    __n = sVar27;\n                  }\n                  iVar26 = ReadBlobByte(image);\n                  __s_00 = (byte *)((int)__s + iVar25);\n                  iVar25 = iVar25 + __n;\n                  memset(__s_00,iVar26,__n);\n                } while (iVar25 < (int)uVar17);\n              }\n            }\n            else if (uVar19 == 0) {\n              image->compression = FaxCompression;\n              if (uVar17 != 0) {\n                local_f4 = 0;\n                puVar33 = __s;\n                do {\n                  uVar24 = ReadBlobByte(image);\n                  if ((int)uVar24 < 0) break;\n                  uVar37 = uVar17 - local_f4;\n                  if ((int)uVar37 < 8) {\n                    if (uVar37 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar37 = 8;\nLAB_002629c0:\n                    uVar32 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                    else {\n                      uVar32 = 0;\n                      do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar33 = puVar33 + 4;\n                } while (local_f4 != (uVar17 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar17);\n            }\n          }\n          else {\n            image->compression = NoCompression;\n            uVar24 = ReadBlob(image,uVar17,__s);\n            if (uVar24 != uVar17) break;\n          }\n          pQVar21 = QueueAuthenticPixels(image,0,local_c8,image->columns,1,exception);\n          fVar11 = DAT_002df8a8;\n          if (pQVar21 == (Quantum *)0x0) break;\n          uVar24 = image->columns;\n          if (uVar18 != 0x10) {\n            if (0 < (int)uVar24) {\n              if (uVar17 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar19 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar44 = "CorruptImage";\n                severity = CorruptImageError;\n                sVar43 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar31 = 0;\n              pPVar3 = image->channel_map;\n              PVar4 = pPVar3[5].traits;\n              pPVar34 = image->colormap;\n              sVar43 = image->number_channels;\n              iVar25 = pPVar3->offset;\n              iVar26 = pPVar3[1].offset;\n              iVar5 = pPVar3[2].offset;\n              PVar6 = pPVar3[3].traits;\n              PVar7 = pPVar3[4].traits;\n              iVar29 = 8 - uVar18;\n              puVar33 = __s;\n              while( true ) {\n                uVar37 = iVar20 - (((uint)(byte)*puVar33 & iVar20 << ((byte)iVar29 & 0x1f)) >>\n                                  ((byte)iVar29 & 0x1f));\n                if (PVar4 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[5].offset] = (double)uVar37;\n                }\n                pQVar21[iVar25] = pPVar34[uVar37].red;\n                pQVar21[iVar26] = pPVar34[uVar37].green;\n                pQVar21[iVar5] = pPVar34[uVar37].blue;\n                if (PVar6 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[3].offset] = pPVar34[uVar37].black;\n                }\n                if (PVar7 != UndefinedPixelTrait) {\n                  fVar10 = fVar11;\n                  if (pPVar34[uVar37].alpha_trait != UndefinedPixelTrait) {\n                    fVar10 = (float)pPVar34[uVar37].alpha;\n                  }\n                  pQVar21[pPVar3[4].offset] = (double)fVar10;\n                }\n                if (iVar29 == 0) {\n                  puVar33 = (ushort *)((int)puVar33 + 1);\n                  iVar29 = 8 - uVar18;\n                }\n                else {\n                  iVar29 = iVar29 - uVar18;\n                }\n                if (uVar24 == iVar31 + 1U) break;\n                iVar31 = iVar31 + 1;\n                pQVar21 = pQVar21 + sVar43;\n                if (uVar17 <= (uint)((int)puVar33 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            MVar15 = SyncAuthenticPixels(image,exception);\n            if (MVar15 != MagickFalse) goto LAB_00262579;\n            break;\n          }\n          if (uVar17 * 2 < uVar24) {\n            RelinquishMagickMemory(__s);\n            if (uVar19 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar44 = "CorruptImage";\n            severity = CorruptImageError;\n            sVar43 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar24 == 0) {\nLAB_00262579:\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }\n          else {\n            pPVar3 = image->channel_map;\n            sVar43 = image->number_channels;\n            iVar25 = pPVar3[1].offset;\n            iVar26 = pPVar3->offset;\n            iVar5 = pPVar3[2].offset;\n            if (pPVar3[4].traits != UndefinedPixelTrait) {\n              iVar29 = pPVar3[4].offset;\n              puVar33 = __s;\n              do {\n                fVar10 = DAT_00306a38;\n                puVar30 = puVar33 + 1;\n                uVar14 = *puVar33 << 8;\n                uVar9 = *puVar33 >> 8;\n                pQVar21[iVar26] = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n                pQVar21[iVar25] =\n                     (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n                pQVar21[iVar5] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n                pQVar21[iVar29] = (double)fVar11;\n                pQVar21 = pQVar21 + sVar43;\n                puVar33 = puVar30;\n              } while (puVar30 != __s + uVar24);\n              goto LAB_00262579;\n            }\n            pdVar23 = pQVar21 + iVar26;\n            puVar33 = __s;\n            do {\n              fVar10 = DAT_00306a38;\n              puVar30 = puVar33 + 1;\n              uVar14 = *puVar33 << 8;\n              uVar9 = *puVar33 >> 8;\n              *pdVar23 = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n              pdVar23[iVar25 - iVar26] =\n                   (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n              pdVar23[iVar5 - iVar26] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n              pdVar23 = pdVar23 + sVar43;\n              puVar33 = puVar30;\n            } while (__s + uVar24 != puVar30);\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }\n          if (p_Var8 == (_Image *)0x0) {\n            local_9c = SetImageProgress(image,"Load/Image",CONCAT44(local_a8,local_ac),\n                                        (ulonglong)uVar24);\n            if (local_9c == MagickFalse) break;\n            uVar24 = image->rows;\n          }\n          local_c8 = local_c8 + 1;\n          bVar39 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar39;\n        } while (local_c8 < (int)uVar24);\n      }\n      if ((uVar12 & 0x2000) != 0) {\n        iVar20 = iVar20 - iVar16;\n        if (((iVar20 < 0) || ((int)image->colors <= iVar20)) &&\n           (iVar20 = 0, exception->severity != CorruptImageError)) {\n          ThrowMagickException\n                    (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,\n                     CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n        }\n        if (uVar18 != 0x10) {\n          pPVar34 = image->colormap + iVar20;\n          pPVar38 = local_a0;\n          for (iVar16 = 0x14; iVar16 != 0; iVar16 = iVar16 + -1) {\n            pPVar38->storage_class = pPVar34->storage_class;\n            pPVar34 = (PixelInfo *)((int)pPVar34 + (uint)bVar40 * -8 + 4);\n            pPVar38 = (PixelInfo *)((int)pPVar38 + (uint)bVar40 * -8 + 4);\n          }\n        }\n        TransparentPaintImage(image,local_a0,0.0,MagickFalse,exception);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar19 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar16 = EOFBlob(image);\n      if (iVar16 != 0) {\n        piVar28 = __errno_location();\n        pcVar44 = GetExceptionMessage(*piVar28);\n        ThrowMagickException\n                  (exception,"coders/palm.c","ReadPALMImage",0x22e,CorruptImageError,\n                   "UnexpectedEndOfFile","\'%s\': %s");\n        DestroyString(pcVar44);\nLAB_0026266b:\n        CloseBlob(image);\n        if (local_9c == MagickFalse) goto LAB_00262f23;\n        pIVar22 = GetFirstImageInList(image);\n        goto LAB_002621b8;\n      }\n      if (((image_info->number_scenes != 0) &&\n          ((image_info->number_scenes + image_info->scene) - 1 <= image->scene)) || (uVar13 == 0))\n      goto LAB_0026266b;\n      uVar17 = (uint)uVar13 * 4;\n      bVar39 = CARRY4(local_94,uVar17);\n      local_94 = local_94 + uVar17;\n      local_90 = local_90 + (uint)bVar39;\n      MVar42 = GetBlobSize(image);\n      if ((longlong)MVar42 <= CONCAT44(local_90,local_94)) {\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x23e;\n        goto LAB_0026218b;\n      }\n      MVar41 = SeekBlob(image,CONCAT44(local_90,local_94),0);\n      if (MVar41 != CONCAT44(local_90,local_94)) {\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(image_info,image,exception);\n      pIVar22 = GetNextImageInList(image);\n      if (pIVar22 == (Image *)0x0) break;\n      image = SyncNextImageInList(image);\n      MVar42 = GetBlobSize(image);\n      MVar41 = TellBlob(image);\n      MVar15 = SetImageProgress(image,"Load/Images",MVar41,MVar42);\n    } while (MVar15 != MagickFalse);\n    CloseBlob(image);\nLAB_00262f23:\n    pIVar22 = DestroyImageList(image);\n  }" { (do_statement "do {\n      uVar12 = ReadBlobMSBShort(image);\n      image->columns = (uint)uVar12;\n      uVar12 = ReadBlobMSBShort(image);\n      image->rows = (uint)uVar12;\n      iVar16 = EOFBlob(image);\n      if (iVar16 != 0) {\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (exception,"coders/palm.c","ReadPALMImage",sVar43,severity,pcVar44,"`%s\'",\n                   image_info->filename);\n        CloseBlob(image);\n        DestroyImageList(image);\n        pIVar22 = (Image *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((image->columns == 0) || (image->rows == 0)) {\n        pcVar44 = "NegativeOrZeroImageSize";\n        severity = CorruptImageError;\n        sVar43 = 0x13a;\n        goto LAB_0026218b;\n      }\n      MVar15 = SetImageExtent(image,image->columns,image->rows,exception);\n      if (MVar15 == MagickFalse) goto LAB_00262f23;\n      SetImageBackgroundColor(image,exception);\n      uVar12 = ReadBlobMSBShort(image);\n      uVar17 = (uint)uVar12;\n      uVar12 = ReadBlobMSBShort(image);\n      uVar18 = ReadBlobByte(image);\n      if ((0x10 < uVar18) || ((0x10116U >> (uVar18 & 0x1f) & 1) == 0)) {\n        pcVar44 = "UnsupportedBitsPerPixel";\n        severity = CorruptImageError;\n        sVar43 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar19 = ReadBlobByte(image);\n      if (2 < uVar19) {\n        pcVar44 = "FileFormatVersionMismatch";\n        severity = CorruptImageError;\n        sVar43 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar13 = ReadBlobMSBShort(image);\n      iVar16 = ReadBlobByte(image);\n      uVar19 = ReadBlobByte(image);\n      if ((uVar19 != 0xff) && (1 < uVar19)) {\n        pcVar44 = "UnrecognizedImageCompression";\n        severity = CorruptImageError;\n        sVar43 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(image);\n      if (uVar18 == 0x10) {\n        GetPixelInfo(image,&transpix);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        iVar20 = ReadBlobByte(image);\n        fVar10 = DAT_00306a38;\n        fVar11 = DAT_002df8a8;\n        transpix.red = (MagickRealType)((DAT_002df8a8 * (float)iVar20) / DAT_00306a38);\n        iVar20 = ReadBlobByte(image);\n        transpix.green = (MagickRealType)(((float)iVar20 * fVar11) / DAT_0030d3a4);\n        iVar20 = ReadBlobByte(image);\n        transpix.blue = (MagickRealType)(((float)iVar20 * fVar11) / fVar10);\n        if ((short)uVar12 < 0) goto LAB_00262c40;\n        image->storage_class = DirectClass;\n      }\n      else {\n        MVar15 = AcquireImageColormap(image,1 << ((byte)uVar18 & 0x1f),exception);\n        if (MVar15 == MagickFalse) {\n          pcVar44 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar43 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(image,&transpix);\n        if (uVar18 == 8) {\n          if ((uVar12 & 0x4000) == 0) {\n            iVar20 = 0xff;\n            pauVar36 = PalmPalette;\n            do {\n              if (iVar20 < (int)image->colors) {\n                local_10c = iVar20 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (exception->severity != CorruptImageError) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                             0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n                }\n              }\n              fVar11 = DAT_002e814c;\n              pPVar34 = image->colormap;\n              pauVar35 = pauVar36 + 1;\n              iVar20 = iVar20 + -1;\n              *(double *)((int)&pPVar34->red + local_10c) =\n                   (double)((float)(*pauVar36)[0] * DAT_002e814c);\n              *(double *)((int)&pPVar34->green + local_10c) =\n                   (double)((float)(*pauVar36)[1] * fVar11);\n              *(double *)((int)&pPVar34->blue + local_10c) =\n                   (double)((float)(*pauVar36)[2] * fVar11);\n              pauVar36 = pauVar35;\n            } while (pauVar35 != (uchar (*) [3])"Pango Markup Language");\n          }\n          else {\n            uVar14 = ReadBlobMSBShort(image);\n            if (uVar14 != 0) {\n              iVar20 = 0xff;\n              do {\n                ReadBlobByte(image);\n                if ((iVar20 < 0) || ((int)image->colors <= iVar20)) {\n                  iVar25 = 0;\n                  if (exception->severity != CorruptImageError) {\n                    ThrowMagickException\n                              (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename\n                              );\n                  }\n                }\n                else {\n                  iVar25 = iVar20 * 0x50;\n                }\n                iVar20 = iVar20 + -1;\n                uVar24 = ReadBlobByte(image);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)((int)&image->colormap->red + iVar25) =\n                     (double)((float)(uVar24 & 0xff) * DAT_002e814c);\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->green + iVar25) = dVar1 * (double)(uVar24 & 0xff)\n                ;\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->blue + iVar25) = dVar1 * (double)(uVar24 & 0xff);\n              } while (0xff - (uint)uVar14 != iVar20);\n            }\n          }\n          if ((short)uVar12 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar12 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(image);\n          }\n          image->storage_class = DirectClass;\n          if (uVar18 == 0x10) goto LAB_002622bf;\n        }\n        image->storage_class = PseudoClass;\n        image->depth = 8;\n      }\nLAB_002622bf:\n      local_a0 = &transpix;\n      if (image_info->ping != MagickFalse) {\n        CloseBlob(image);\n        pIVar22 = image;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(image,image->columns,image->rows,exception);\n      if (local_9c == MagickFalse) goto LAB_00262f23;\n      uVar24 = image->columns * 2;\n      if (uVar24 < uVar17) {\n        uVar24 = uVar17;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar24,1);\n      if (__s == (ushort *)0x0) {\n        pcVar44 = "MemoryAllocationFailed";\n        severity = ErrorException;\n        sVar43 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar24);\n      local_b0 = (void *)0x0;\n      if (uVar19 == 0) {\n        uVar24 = image->columns * 2;\n        if (uVar24 < uVar17) {\n          uVar24 = uVar17;\n        }\n        local_b0 = AcquireQuantumMemory(uVar24,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar44 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar43 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar24 = image->columns * 2;\n        if (uVar24 < uVar17) {\n          uVar24 = uVar17;\n        }\n        memset(local_b0,0,uVar24);\n      }\n      iVar20 = (1 << ((byte)uVar18 & 0x1f)) + -1;\n      if (0 < (int)image->rows) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar12 < 0) {\n            if (uVar19 == 1) {\n              image->compression = RLECompression;\n              if (uVar17 != 0) {\n                iVar25 = 0;\n                do {\n                  sVar27 = ReadBlobByte(image);\n                  if ((int)sVar27 < 0) break;\n                  __n = uVar17 - iVar25;\n                  if ((int)sVar27 < (int)(uVar17 - iVar25)) {\n                    __n = sVar27;\n                  }\n                  iVar26 = ReadBlobByte(image);\n                  __s_00 = (byte *)((int)__s + iVar25);\n                  iVar25 = iVar25 + __n;\n                  memset(__s_00,iVar26,__n);\n                } while (iVar25 < (int)uVar17);\n              }\n            }\n            else if (uVar19 == 0) {\n              image->compression = FaxCompression;\n              if (uVar17 != 0) {\n                local_f4 = 0;\n                puVar33 = __s;\n                do {\n                  uVar24 = ReadBlobByte(image);\n                  if ((int)uVar24 < 0) break;\n                  uVar37 = uVar17 - local_f4;\n                  if ((int)uVar37 < 8) {\n                    if (uVar37 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar37 = 8;\nLAB_002629c0:\n                    uVar32 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                    else {\n                      uVar32 = 0;\n                      do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar33 = puVar33 + 4;\n                } while (local_f4 != (uVar17 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar17);\n            }\n          }\n          else {\n            image->compression = NoCompression;\n            uVar24 = ReadBlob(image,uVar17,__s);\n            if (uVar24 != uVar17) break;\n          }\n          pQVar21 = QueueAuthenticPixels(image,0,local_c8,image->columns,1,exception);\n          fVar11 = DAT_002df8a8;\n          if (pQVar21 == (Quantum *)0x0) break;\n          uVar24 = image->columns;\n          if (uVar18 != 0x10) {\n            if (0 < (int)uVar24) {\n              if (uVar17 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar19 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar44 = "CorruptImage";\n                severity = CorruptImageError;\n                sVar43 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar31 = 0;\n              pPVar3 = image->channel_map;\n              PVar4 = pPVar3[5].traits;\n              pPVar34 = image->colormap;\n              sVar43 = image->number_channels;\n              iVar25 = pPVar3->offset;\n              iVar26 = pPVar3[1].offset;\n              iVar5 = pPVar3[2].offset;\n              PVar6 = pPVar3[3].traits;\n              PVar7 = pPVar3[4].traits;\n              iVar29 = 8 - uVar18;\n              puVar33 = __s;\n              while( true ) {\n                uVar37 = iVar20 - (((uint)(byte)*puVar33 & iVar20 << ((byte)iVar29 & 0x1f)) >>\n                                  ((byte)iVar29 & 0x1f));\n                if (PVar4 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[5].offset] = (double)uVar37;\n                }\n                pQVar21[iVar25] = pPVar34[uVar37].red;\n                pQVar21[iVar26] = pPVar34[uVar37].green;\n                pQVar21[iVar5] = pPVar34[uVar37].blue;\n                if (PVar6 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[3].offset] = pPVar34[uVar37].black;\n                }\n                if (PVar7 != UndefinedPixelTrait) {\n                  fVar10 = fVar11;\n                  if (pPVar34[uVar37].alpha_trait != UndefinedPixelTrait) {\n                    fVar10 = (float)pPVar34[uVar37].alpha;\n                  }\n                  pQVar21[pPVar3[4].offset] = (double)fVar10;\n                }\n                if (iVar29 == 0) {\n                  puVar33 = (ushort *)((int)puVar33 + 1);\n                  iVar29 = 8 - uVar18;\n                }\n                else {\n                  iVar29 = iVar29 - uVar18;\n                }\n                if (uVar24 == iVar31 + 1U) break;\n                iVar31 = iVar31 + 1;\n                pQVar21 = pQVar21 + sVar43;\n                if (uVar17 <= (uint)((int)puVar33 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            MVar15 = SyncAuthenticPixels(image,exception);\n            if (MVar15 != MagickFalse) goto LAB_00262579;\n            break;\n          }\n          if (uVar17 * 2 < uVar24) {\n            RelinquishMagickMemory(__s);\n            if (uVar19 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar44 = "CorruptImage";\n            severity = CorruptImageError;\n            sVar43 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar24 == 0) {\nLAB_00262579:\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }\n          else {\n            pPVar3 = image->channel_map;\n            sVar43 = image->number_channels;\n            iVar25 = pPVar3[1].offset;\n            iVar26 = pPVar3->offset;\n            iVar5 = pPVar3[2].offset;\n            if (pPVar3[4].traits != UndefinedPixelTrait) {\n              iVar29 = pPVar3[4].offset;\n              puVar33 = __s;\n              do {\n                fVar10 = DAT_00306a38;\n                puVar30 = puVar33 + 1;\n                uVar14 = *puVar33 << 8;\n                uVar9 = *puVar33 >> 8;\n                pQVar21[iVar26] = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n                pQVar21[iVar25] =\n                     (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n                pQVar21[iVar5] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n                pQVar21[iVar29] = (double)fVar11;\n                pQVar21 = pQVar21 + sVar43;\n                puVar33 = puVar30;\n              } while (puVar30 != __s + uVar24);\n              goto LAB_00262579;\n            }\n            pdVar23 = pQVar21 + iVar26;\n            puVar33 = __s;\n            do {\n              fVar10 = DAT_00306a38;\n              puVar30 = puVar33 + 1;\n              uVar14 = *puVar33 << 8;\n              uVar9 = *puVar33 >> 8;\n              *pdVar23 = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n              pdVar23[iVar25 - iVar26] =\n                   (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n              pdVar23[iVar5 - iVar26] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n              pdVar23 = pdVar23 + sVar43;\n              puVar33 = puVar30;\n            } while (__s + uVar24 != puVar30);\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }\n          if (p_Var8 == (_Image *)0x0) {\n            local_9c = SetImageProgress(image,"Load/Image",CONCAT44(local_a8,local_ac),\n                                        (ulonglong)uVar24);\n            if (local_9c == MagickFalse) break;\n            uVar24 = image->rows;\n          }\n          local_c8 = local_c8 + 1;\n          bVar39 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar39;\n        } while (local_c8 < (int)uVar24);\n      }\n      if ((uVar12 & 0x2000) != 0) {\n        iVar20 = iVar20 - iVar16;\n        if (((iVar20 < 0) || ((int)image->colors <= iVar20)) &&\n           (iVar20 = 0, exception->severity != CorruptImageError)) {\n          ThrowMagickException\n                    (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,\n                     CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n        }\n        if (uVar18 != 0x10) {\n          pPVar34 = image->colormap + iVar20;\n          pPVar38 = local_a0;\n          for (iVar16 = 0x14; iVar16 != 0; iVar16 = iVar16 + -1) {\n            pPVar38->storage_class = pPVar34->storage_class;\n            pPVar34 = (PixelInfo *)((int)pPVar34 + (uint)bVar40 * -8 + 4);\n            pPVar38 = (PixelInfo *)((int)pPVar38 + (uint)bVar40 * -8 + 4);\n          }\n        }\n        TransparentPaintImage(image,local_a0,0.0,MagickFalse,exception);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar19 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar16 = EOFBlob(image);\n      if (iVar16 != 0) {\n        piVar28 = __errno_location();\n        pcVar44 = GetExceptionMessage(*piVar28);\n        ThrowMagickException\n                  (exception,"coders/palm.c","ReadPALMImage",0x22e,CorruptImageError,\n                   "UnexpectedEndOfFile","\'%s\': %s");\n        DestroyString(pcVar44);\nLAB_0026266b:\n        CloseBlob(image);\n        if (local_9c == MagickFalse) goto LAB_00262f23;\n        pIVar22 = GetFirstImageInList(image);\n        goto LAB_002621b8;\n      }\n      if (((image_info->number_scenes != 0) &&\n          ((image_info->number_scenes + image_info->scene) - 1 <= image->scene)) || (uVar13 == 0))\n      goto LAB_0026266b;\n      uVar17 = (uint)uVar13 * 4;\n      bVar39 = CARRY4(local_94,uVar17);\n      local_94 = local_94 + uVar17;\n      local_90 = local_90 + (uint)bVar39;\n      MVar42 = GetBlobSize(image);\n      if ((longlong)MVar42 <= CONCAT44(local_90,local_94)) {\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x23e;\n        goto LAB_0026218b;\n      }\n      MVar41 = SeekBlob(image,CONCAT44(local_90,local_94),0);\n      if (MVar41 != CONCAT44(local_90,local_94)) {\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(image_info,image,exception);\n      pIVar22 = GetNextImageInList(image);\n      if (pIVar22 == (Image *)0x0) break;\n      image = SyncNextImageInList(image);\n      MVar42 = GetBlobSize(image);\n      MVar41 = TellBlob(image);\n      MVar15 = SetImageProgress(image,"Load/Images",MVar41,MVar42);\n    } while (MVar15 != MagickFalse);" do (compound_statement "{\n      uVar12 = ReadBlobMSBShort(image);\n      image->columns = (uint)uVar12;\n      uVar12 = ReadBlobMSBShort(image);\n      image->rows = (uint)uVar12;\n      iVar16 = EOFBlob(image);\n      if (iVar16 != 0) {\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (exception,"coders/palm.c","ReadPALMImage",sVar43,severity,pcVar44,"`%s\'",\n                   image_info->filename);\n        CloseBlob(image);\n        DestroyImageList(image);\n        pIVar22 = (Image *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((image->columns == 0) || (image->rows == 0)) {\n        pcVar44 = "NegativeOrZeroImageSize";\n        severity = CorruptImageError;\n        sVar43 = 0x13a;\n        goto LAB_0026218b;\n      }\n      MVar15 = SetImageExtent(image,image->columns,image->rows,exception);\n      if (MVar15 == MagickFalse) goto LAB_00262f23;\n      SetImageBackgroundColor(image,exception);\n      uVar12 = ReadBlobMSBShort(image);\n      uVar17 = (uint)uVar12;\n      uVar12 = ReadBlobMSBShort(image);\n      uVar18 = ReadBlobByte(image);\n      if ((0x10 < uVar18) || ((0x10116U >> (uVar18 & 0x1f) & 1) == 0)) {\n        pcVar44 = "UnsupportedBitsPerPixel";\n        severity = CorruptImageError;\n        sVar43 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar19 = ReadBlobByte(image);\n      if (2 < uVar19) {\n        pcVar44 = "FileFormatVersionMismatch";\n        severity = CorruptImageError;\n        sVar43 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar13 = ReadBlobMSBShort(image);\n      iVar16 = ReadBlobByte(image);\n      uVar19 = ReadBlobByte(image);\n      if ((uVar19 != 0xff) && (1 < uVar19)) {\n        pcVar44 = "UnrecognizedImageCompression";\n        severity = CorruptImageError;\n        sVar43 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(image);\n      if (uVar18 == 0x10) {\n        GetPixelInfo(image,&transpix);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        iVar20 = ReadBlobByte(image);\n        fVar10 = DAT_00306a38;\n        fVar11 = DAT_002df8a8;\n        transpix.red = (MagickRealType)((DAT_002df8a8 * (float)iVar20) / DAT_00306a38);\n        iVar20 = ReadBlobByte(image);\n        transpix.green = (MagickRealType)(((float)iVar20 * fVar11) / DAT_0030d3a4);\n        iVar20 = ReadBlobByte(image);\n        transpix.blue = (MagickRealType)(((float)iVar20 * fVar11) / fVar10);\n        if ((short)uVar12 < 0) goto LAB_00262c40;\n        image->storage_class = DirectClass;\n      }\n      else {\n        MVar15 = AcquireImageColormap(image,1 << ((byte)uVar18 & 0x1f),exception);\n        if (MVar15 == MagickFalse) {\n          pcVar44 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar43 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(image,&transpix);\n        if (uVar18 == 8) {\n          if ((uVar12 & 0x4000) == 0) {\n            iVar20 = 0xff;\n            pauVar36 = PalmPalette;\n            do {\n              if (iVar20 < (int)image->colors) {\n                local_10c = iVar20 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (exception->severity != CorruptImageError) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                             0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n                }\n              }\n              fVar11 = DAT_002e814c;\n              pPVar34 = image->colormap;\n              pauVar35 = pauVar36 + 1;\n              iVar20 = iVar20 + -1;\n              *(double *)((int)&pPVar34->red + local_10c) =\n                   (double)((float)(*pauVar36)[0] * DAT_002e814c);\n              *(double *)((int)&pPVar34->green + local_10c) =\n                   (double)((float)(*pauVar36)[1] * fVar11);\n              *(double *)((int)&pPVar34->blue + local_10c) =\n                   (double)((float)(*pauVar36)[2] * fVar11);\n              pauVar36 = pauVar35;\n            } while (pauVar35 != (uchar (*) [3])"Pango Markup Language");\n          }\n          else {\n            uVar14 = ReadBlobMSBShort(image);\n            if (uVar14 != 0) {\n              iVar20 = 0xff;\n              do {\n                ReadBlobByte(image);\n                if ((iVar20 < 0) || ((int)image->colors <= iVar20)) {\n                  iVar25 = 0;\n                  if (exception->severity != CorruptImageError) {\n                    ThrowMagickException\n                              (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename\n                              );\n                  }\n                }\n                else {\n                  iVar25 = iVar20 * 0x50;\n                }\n                iVar20 = iVar20 + -1;\n                uVar24 = ReadBlobByte(image);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)((int)&image->colormap->red + iVar25) =\n                     (double)((float)(uVar24 & 0xff) * DAT_002e814c);\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->green + iVar25) = dVar1 * (double)(uVar24 & 0xff)\n                ;\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->blue + iVar25) = dVar1 * (double)(uVar24 & 0xff);\n              } while (0xff - (uint)uVar14 != iVar20);\n            }\n          }\n          if ((short)uVar12 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar12 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(image);\n          }\n          image->storage_class = DirectClass;\n          if (uVar18 == 0x10) goto LAB_002622bf;\n        }\n        image->storage_class = PseudoClass;\n        image->depth = 8;\n      }\nLAB_002622bf:\n      local_a0 = &transpix;\n      if (image_info->ping != MagickFalse) {\n        CloseBlob(image);\n        pIVar22 = image;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(image,image->columns,image->rows,exception);\n      if (local_9c == MagickFalse) goto LAB_00262f23;\n      uVar24 = image->columns * 2;\n      if (uVar24 < uVar17) {\n        uVar24 = uVar17;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar24,1);\n      if (__s == (ushort *)0x0) {\n        pcVar44 = "MemoryAllocationFailed";\n        severity = ErrorException;\n        sVar43 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar24);\n      local_b0 = (void *)0x0;\n      if (uVar19 == 0) {\n        uVar24 = image->columns * 2;\n        if (uVar24 < uVar17) {\n          uVar24 = uVar17;\n        }\n        local_b0 = AcquireQuantumMemory(uVar24,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar44 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar43 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar24 = image->columns * 2;\n        if (uVar24 < uVar17) {\n          uVar24 = uVar17;\n        }\n        memset(local_b0,0,uVar24);\n      }\n      iVar20 = (1 << ((byte)uVar18 & 0x1f)) + -1;\n      if (0 < (int)image->rows) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar12 < 0) {\n            if (uVar19 == 1) {\n              image->compression = RLECompression;\n              if (uVar17 != 0) {\n                iVar25 = 0;\n                do {\n                  sVar27 = ReadBlobByte(image);\n                  if ((int)sVar27 < 0) break;\n                  __n = uVar17 - iVar25;\n                  if ((int)sVar27 < (int)(uVar17 - iVar25)) {\n                    __n = sVar27;\n                  }\n                  iVar26 = ReadBlobByte(image);\n                  __s_00 = (byte *)((int)__s + iVar25);\n                  iVar25 = iVar25 + __n;\n                  memset(__s_00,iVar26,__n);\n                } while (iVar25 < (int)uVar17);\n              }\n            }\n            else if (uVar19 == 0) {\n              image->compression = FaxCompression;\n              if (uVar17 != 0) {\n                local_f4 = 0;\n                puVar33 = __s;\n                do {\n                  uVar24 = ReadBlobByte(image);\n                  if ((int)uVar24 < 0) break;\n                  uVar37 = uVar17 - local_f4;\n                  if ((int)uVar37 < 8) {\n                    if (uVar37 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar37 = 8;\nLAB_002629c0:\n                    uVar32 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                    else {\n                      uVar32 = 0;\n                      do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar33 = puVar33 + 4;\n                } while (local_f4 != (uVar17 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar17);\n            }\n          }\n          else {\n            image->compression = NoCompression;\n            uVar24 = ReadBlob(image,uVar17,__s);\n            if (uVar24 != uVar17) break;\n          }\n          pQVar21 = QueueAuthenticPixels(image,0,local_c8,image->columns,1,exception);\n          fVar11 = DAT_002df8a8;\n          if (pQVar21 == (Quantum *)0x0) break;\n          uVar24 = image->columns;\n          if (uVar18 != 0x10) {\n            if (0 < (int)uVar24) {\n              if (uVar17 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar19 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar44 = "CorruptImage";\n                severity = CorruptImageError;\n                sVar43 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar31 = 0;\n              pPVar3 = image->channel_map;\n              PVar4 = pPVar3[5].traits;\n              pPVar34 = image->colormap;\n              sVar43 = image->number_channels;\n              iVar25 = pPVar3->offset;\n              iVar26 = pPVar3[1].offset;\n              iVar5 = pPVar3[2].offset;\n              PVar6 = pPVar3[3].traits;\n              PVar7 = pPVar3[4].traits;\n              iVar29 = 8 - uVar18;\n              puVar33 = __s;\n              while( true ) {\n                uVar37 = iVar20 - (((uint)(byte)*puVar33 & iVar20 << ((byte)iVar29 & 0x1f)) >>\n                                  ((byte)iVar29 & 0x1f));\n                if (PVar4 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[5].offset] = (double)uVar37;\n                }\n                pQVar21[iVar25] = pPVar34[uVar37].red;\n                pQVar21[iVar26] = pPVar34[uVar37].green;\n                pQVar21[iVar5] = pPVar34[uVar37].blue;\n                if (PVar6 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[3].offset] = pPVar34[uVar37].black;\n                }\n                if (PVar7 != UndefinedPixelTrait) {\n                  fVar10 = fVar11;\n                  if (pPVar34[uVar37].alpha_trait != UndefinedPixelTrait) {\n                    fVar10 = (float)pPVar34[uVar37].alpha;\n                  }\n                  pQVar21[pPVar3[4].offset] = (double)fVar10;\n                }\n                if (iVar29 == 0) {\n                  puVar33 = (ushort *)((int)puVar33 + 1);\n                  iVar29 = 8 - uVar18;\n                }\n                else {\n                  iVar29 = iVar29 - uVar18;\n                }\n                if (uVar24 == iVar31 + 1U) break;\n                iVar31 = iVar31 + 1;\n                pQVar21 = pQVar21 + sVar43;\n                if (uVar17 <= (uint)((int)puVar33 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            MVar15 = SyncAuthenticPixels(image,exception);\n            if (MVar15 != MagickFalse) goto LAB_00262579;\n            break;\n          }\n          if (uVar17 * 2 < uVar24) {\n            RelinquishMagickMemory(__s);\n            if (uVar19 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar44 = "CorruptImage";\n            severity = CorruptImageError;\n            sVar43 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar24 == 0) {\nLAB_00262579:\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }\n          else {\n            pPVar3 = image->channel_map;\n            sVar43 = image->number_channels;\n            iVar25 = pPVar3[1].offset;\n            iVar26 = pPVar3->offset;\n            iVar5 = pPVar3[2].offset;\n            if (pPVar3[4].traits != UndefinedPixelTrait) {\n              iVar29 = pPVar3[4].offset;\n              puVar33 = __s;\n              do {\n                fVar10 = DAT_00306a38;\n                puVar30 = puVar33 + 1;\n                uVar14 = *puVar33 << 8;\n                uVar9 = *puVar33 >> 8;\n                pQVar21[iVar26] = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n                pQVar21[iVar25] =\n                     (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n                pQVar21[iVar5] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n                pQVar21[iVar29] = (double)fVar11;\n                pQVar21 = pQVar21 + sVar43;\n                puVar33 = puVar30;\n              } while (puVar30 != __s + uVar24);\n              goto LAB_00262579;\n            }\n            pdVar23 = pQVar21 + iVar26;\n            puVar33 = __s;\n            do {\n              fVar10 = DAT_00306a38;\n              puVar30 = puVar33 + 1;\n              uVar14 = *puVar33 << 8;\n              uVar9 = *puVar33 >> 8;\n              *pdVar23 = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n              pdVar23[iVar25 - iVar26] =\n                   (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n              pdVar23[iVar5 - iVar26] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n              pdVar23 = pdVar23 + sVar43;\n              puVar33 = puVar30;\n            } while (__s + uVar24 != puVar30);\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }\n          if (p_Var8 == (_Image *)0x0) {\n            local_9c = SetImageProgress(image,"Load/Image",CONCAT44(local_a8,local_ac),\n                                        (ulonglong)uVar24);\n            if (local_9c == MagickFalse) break;\n            uVar24 = image->rows;\n          }\n          local_c8 = local_c8 + 1;\n          bVar39 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar39;\n        } while (local_c8 < (int)uVar24);\n      }\n      if ((uVar12 & 0x2000) != 0) {\n        iVar20 = iVar20 - iVar16;\n        if (((iVar20 < 0) || ((int)image->colors <= iVar20)) &&\n           (iVar20 = 0, exception->severity != CorruptImageError)) {\n          ThrowMagickException\n                    (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,\n                     CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n        }\n        if (uVar18 != 0x10) {\n          pPVar34 = image->colormap + iVar20;\n          pPVar38 = local_a0;\n          for (iVar16 = 0x14; iVar16 != 0; iVar16 = iVar16 + -1) {\n            pPVar38->storage_class = pPVar34->storage_class;\n            pPVar34 = (PixelInfo *)((int)pPVar34 + (uint)bVar40 * -8 + 4);\n            pPVar38 = (PixelInfo *)((int)pPVar38 + (uint)bVar40 * -8 + 4);\n          }\n        }\n        TransparentPaintImage(image,local_a0,0.0,MagickFalse,exception);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar19 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar16 = EOFBlob(image);\n      if (iVar16 != 0) {\n        piVar28 = __errno_location();\n        pcVar44 = GetExceptionMessage(*piVar28);\n        ThrowMagickException\n                  (exception,"coders/palm.c","ReadPALMImage",0x22e,CorruptImageError,\n                   "UnexpectedEndOfFile","\'%s\': %s");\n        DestroyString(pcVar44);\nLAB_0026266b:\n        CloseBlob(image);\n        if (local_9c == MagickFalse) goto LAB_00262f23;\n        pIVar22 = GetFirstImageInList(image);\n        goto LAB_002621b8;\n      }\n      if (((image_info->number_scenes != 0) &&\n          ((image_info->number_scenes + image_info->scene) - 1 <= image->scene)) || (uVar13 == 0))\n      goto LAB_0026266b;\n      uVar17 = (uint)uVar13 * 4;\n      bVar39 = CARRY4(local_94,uVar17);\n      local_94 = local_94 + uVar17;\n      local_90 = local_90 + (uint)bVar39;\n      MVar42 = GetBlobSize(image);\n      if ((longlong)MVar42 <= CONCAT44(local_90,local_94)) {\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x23e;\n        goto LAB_0026218b;\n      }\n      MVar41 = SeekBlob(image,CONCAT44(local_90,local_94),0);\n      if (MVar41 != CONCAT44(local_90,local_94)) {\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(image_info,image,exception);\n      pIVar22 = GetNextImageInList(image);\n      if (pIVar22 == (Image *)0x0) break;\n      image = SyncNextImageInList(image);\n      MVar42 = GetBlobSize(image);\n      MVar41 = TellBlob(image);\n      MVar15 = SetImageProgress(image,"Load/Images",MVar41,MVar42);\n    }" { (expression_statement "uVar12 = ReadBlobMSBShort(image);" (assignment_expression "uVar12 = ReadBlobMSBShort(image)" identifier = (call_expression "ReadBlobMSBShort(image)" identifier (argument_list "(image)" ( identifier )))) ;) (expression_statement "image->columns = (uint)uVar12;" (assignment_expression "image->columns = (uint)uVar12" (field_expression "image->columns" identifier -> field_identifier) = (cast_expression "(uint)uVar12" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar12 = ReadBlobMSBShort(image);" (assignment_expression "uVar12 = ReadBlobMSBShort(image)" identifier = (call_expression "ReadBlobMSBShort(image)" identifier (argument_list "(image)" ( identifier )))) ;) (expression_statement "image->rows = (uint)uVar12;" (assignment_expression "image->rows = (uint)uVar12" (field_expression "image->rows" identifier -> field_identifier) = (cast_expression "(uint)uVar12" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "iVar16 = EOFBlob(image);" (assignment_expression "iVar16 = EOFBlob(image)" identifier = (call_expression "EOFBlob(image)" identifier (argument_list "(image)" ( identifier )))) ;) (if_statement "if (iVar16 != 0) {\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (exception,"coders/palm.c","ReadPALMImage",sVar43,severity,pcVar44,"`%s\'",\n                   image_info->filename);\n        CloseBlob(image);\n        DestroyImageList(image);\n        pIVar22 = (Image *)0x0;\n        goto LAB_002621b8;\n      }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (exception,"coders/palm.c","ReadPALMImage",sVar43,severity,pcVar44,"`%s\'",\n                   image_info->filename);\n        CloseBlob(image);\n        DestroyImageList(image);\n        pIVar22 = (Image *)0x0;\n        goto LAB_002621b8;\n      }" { (expression_statement "pcVar44 = "ImproperImageHeader";" (assignment_expression "pcVar44 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "severity = CorruptImageError;" (assignment_expression "severity = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar43 = 0x138;" (assignment_expression "sVar43 = 0x138" identifier = number_literal) ;) (labeled_statement "LAB_0026218b:\n        ThrowMagickException\n                  (exception,"coders/palm.c","ReadPALMImage",sVar43,severity,pcVar44,"`%s\'",\n                   image_info->filename);" statement_identifier : (expression_statement "ThrowMagickException\n                  (exception,"coders/palm.c","ReadPALMImage",sVar43,severity,pcVar44,"`%s\'",\n                   image_info->filename);" (call_expression "ThrowMagickException\n                  (exception,"coders/palm.c","ReadPALMImage",sVar43,severity,pcVar44,"`%s\'",\n                   image_info->filename)" identifier (argument_list "(exception,"coders/palm.c","ReadPALMImage",sVar43,severity,pcVar44,"`%s\'",\n                   image_info->filename)" ( identifier , (string_literal ""coders/palm.c"" " string_content ") , (string_literal ""ReadPALMImage"" " string_content ") , identifier , identifier , identifier , (string_literal ""`%s\'"" " string_content escape_sequence ") , (field_expression "image_info->filename" identifier -> field_identifier) ))) ;)) (expression_statement "CloseBlob(image);" (call_expression "CloseBlob(image)" identifier (argument_list "(image)" ( identifier ))) ;) (expression_statement "DestroyImageList(image);" (call_expression "DestroyImageList(image)" identifier (argument_list "(image)" ( identifier ))) ;) (expression_statement "pIVar22 = (Image *)0x0;" (assignment_expression "pIVar22 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_002621b8;" goto statement_identifier ;) })) (if_statement "if ((image->columns == 0) || (image->rows == 0)) {\n        pcVar44 = "NegativeOrZeroImageSize";\n        severity = CorruptImageError;\n        sVar43 = 0x13a;\n        goto LAB_0026218b;\n      }" if (parenthesized_expression "((image->columns == 0) || (image->rows == 0))" ( (binary_expression "(image->columns == 0) || (image->rows == 0)" (parenthesized_expression "(image->columns == 0)" ( (binary_expression "image->columns == 0" (field_expression "image->columns" identifier -> field_identifier) == number_literal) )) || (parenthesized_expression "(image->rows == 0)" ( (binary_expression "image->rows == 0" (field_expression "image->rows" identifier -> field_identifier) == number_literal) ))) )) (compound_statement "{\n        pcVar44 = "NegativeOrZeroImageSize";\n        severity = CorruptImageError;\n        sVar43 = 0x13a;\n        goto LAB_0026218b;\n      }" { (expression_statement "pcVar44 = "NegativeOrZeroImageSize";" (assignment_expression "pcVar44 = "NegativeOrZeroImageSize"" identifier = (string_literal ""NegativeOrZeroImageSize"" " string_content ")) ;) (expression_statement "severity = CorruptImageError;" (assignment_expression "severity = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar43 = 0x13a;" (assignment_expression "sVar43 = 0x13a" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "MVar15 = SetImageExtent(image,image->columns,image->rows,exception);" (assignment_expression "MVar15 = SetImageExtent(image,image->columns,image->rows,exception)" identifier = (call_expression "SetImageExtent(image,image->columns,image->rows,exception)" identifier (argument_list "(image,image->columns,image->rows,exception)" ( identifier , (field_expression "image->columns" identifier -> field_identifier) , (field_expression "image->rows" identifier -> field_identifier) , identifier )))) ;) (if_statement "if (MVar15 == MagickFalse) goto LAB_00262f23;" if (parenthesized_expression "(MVar15 == MagickFalse)" ( (binary_expression "MVar15 == MagickFalse" identifier == identifier) )) (goto_statement "goto LAB_00262f23;" goto statement_identifier ;)) (expression_statement "SetImageBackgroundColor(image,exception);" (call_expression "SetImageBackgroundColor(image,exception)" identifier (argument_list "(image,exception)" ( identifier , identifier ))) ;) (expression_statement "uVar12 = ReadBlobMSBShort(image);" (assignment_expression "uVar12 = ReadBlobMSBShort(image)" identifier = (call_expression "ReadBlobMSBShort(image)" identifier (argument_list "(image)" ( identifier )))) ;) (expression_statement "uVar17 = (uint)uVar12;" (assignment_expression "uVar17 = (uint)uVar12" identifier = (cast_expression "(uint)uVar12" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar12 = ReadBlobMSBShort(image);" (assignment_expression "uVar12 = ReadBlobMSBShort(image)" identifier = (call_expression "ReadBlobMSBShort(image)" identifier (argument_list "(image)" ( identifier )))) ;) (expression_statement "uVar18 = ReadBlobByte(image);" (assignment_expression "uVar18 = ReadBlobByte(image)" identifier = (call_expression "ReadBlobByte(image)" identifier (argument_list "(image)" ( identifier )))) ;) (if_statement "if ((0x10 < uVar18) || ((0x10116U >> (uVar18 & 0x1f) & 1) == 0)) {\n        pcVar44 = "UnsupportedBitsPerPixel";\n        severity = CorruptImageError;\n        sVar43 = 0x145;\n        goto LAB_0026218b;\n      }" if (parenthesized_expression "((0x10 < uVar18) || ((0x10116U >> (uVar18 & 0x1f) & 1) == 0))" ( (binary_expression "(0x10 < uVar18) || ((0x10116U >> (uVar18 & 0x1f) & 1) == 0)" (parenthesized_expression "(0x10 < uVar18)" ( (binary_expression "0x10 < uVar18" number_literal < identifier) )) || (parenthesized_expression "((0x10116U >> (uVar18 & 0x1f) & 1) == 0)" ( (binary_expression "(0x10116U >> (uVar18 & 0x1f) & 1) == 0" (parenthesized_expression "(0x10116U >> (uVar18 & 0x1f) & 1)" ( (binary_expression "0x10116U >> (uVar18 & 0x1f) & 1" (binary_expression "0x10116U >> (uVar18 & 0x1f)" number_literal >> (parenthesized_expression "(uVar18 & 0x1f)" ( (binary_expression "uVar18 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        pcVar44 = "UnsupportedBitsPerPixel";\n        severity = CorruptImageError;\n        sVar43 = 0x145;\n        goto LAB_0026218b;\n      }" { (expression_statement "pcVar44 = "UnsupportedBitsPerPixel";" (assignment_expression "pcVar44 = "UnsupportedBitsPerPixel"" identifier = (string_literal ""UnsupportedBitsPerPixel"" " string_content ")) ;) (expression_statement "severity = CorruptImageError;" (assignment_expression "severity = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar43 = 0x145;" (assignment_expression "sVar43 = 0x145" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "uVar19 = ReadBlobByte(image);" (assignment_expression "uVar19 = ReadBlobByte(image)" identifier = (call_expression "ReadBlobByte(image)" identifier (argument_list "(image)" ( identifier )))) ;) (if_statement "if (2 < uVar19) {\n        pcVar44 = "FileFormatVersionMismatch";\n        severity = CorruptImageError;\n        sVar43 = 0x148;\n        goto LAB_0026218b;\n      }" if (parenthesized_expression "(2 < uVar19)" ( (binary_expression "2 < uVar19" number_literal < identifier) )) (compound_statement "{\n        pcVar44 = "FileFormatVersionMismatch";\n        severity = CorruptImageError;\n        sVar43 = 0x148;\n        goto LAB_0026218b;\n      }" { (expression_statement "pcVar44 = "FileFormatVersionMismatch";" (assignment_expression "pcVar44 = "FileFormatVersionMismatch"" identifier = (string_literal ""FileFormatVersionMismatch"" " string_content ")) ;) (expression_statement "severity = CorruptImageError;" (assignment_expression "severity = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar43 = 0x148;" (assignment_expression "sVar43 = 0x148" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "uVar13 = ReadBlobMSBShort(image);" (assignment_expression "uVar13 = ReadBlobMSBShort(image)" identifier = (call_expression "ReadBlobMSBShort(image)" identifier (argument_list "(image)" ( identifier )))) ;) (expression_statement "iVar16 = ReadBlobByte(image);" (assignment_expression "iVar16 = ReadBlobByte(image)" identifier = (call_expression "ReadBlobByte(image)" identifier (argument_list "(image)" ( identifier )))) ;) (expression_statement "uVar19 = ReadBlobByte(image);" (assignment_expression "uVar19 = ReadBlobByte(image)" identifier = (call_expression "ReadBlobByte(image)" identifier (argument_list "(image)" ( identifier )))) ;) (if_statement "if ((uVar19 != 0xff) && (1 < uVar19)) {\n        pcVar44 = "UnrecognizedImageCompression";\n        severity = CorruptImageError;\n        sVar43 = 0x14f;\n        goto LAB_0026218b;\n      }" if (parenthesized_expression "((uVar19 != 0xff) && (1 < uVar19))" ( (binary_expression "(uVar19 != 0xff) && (1 < uVar19)" (parenthesized_expression "(uVar19 != 0xff)" ( (binary_expression "uVar19 != 0xff" identifier != number_literal) )) && (parenthesized_expression "(1 < uVar19)" ( (binary_expression "1 < uVar19" number_literal < identifier) ))) )) (compound_statement "{\n        pcVar44 = "UnrecognizedImageCompression";\n        severity = CorruptImageError;\n        sVar43 = 0x14f;\n        goto LAB_0026218b;\n      }" { (expression_statement "pcVar44 = "UnrecognizedImageCompression";" (assignment_expression "pcVar44 = "UnrecognizedImageCompression"" identifier = (string_literal ""UnrecognizedImageCompression"" " string_content ")) ;) (expression_statement "severity = CorruptImageError;" (assignment_expression "severity = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar43 = 0x14f;" (assignment_expression "sVar43 = 0x14f" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "ReadBlobMSBShort(image);" (call_expression "ReadBlobMSBShort(image)" identifier (argument_list "(image)" ( identifier ))) ;) (if_statement "if (uVar18 == 0x10) {\n        GetPixelInfo(image,&transpix);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        iVar20 = ReadBlobByte(image);\n        fVar10 = DAT_00306a38;\n        fVar11 = DAT_002df8a8;\n        transpix.red = (MagickRealType)((DAT_002df8a8 * (float)iVar20) / DAT_00306a38);\n        iVar20 = ReadBlobByte(image);\n        transpix.green = (MagickRealType)(((float)iVar20 * fVar11) / DAT_0030d3a4);\n        iVar20 = ReadBlobByte(image);\n        transpix.blue = (MagickRealType)(((float)iVar20 * fVar11) / fVar10);\n        if ((short)uVar12 < 0) goto LAB_00262c40;\n        image->storage_class = DirectClass;\n      }\n      else {\n        MVar15 = AcquireImageColormap(image,1 << ((byte)uVar18 & 0x1f),exception);\n        if (MVar15 == MagickFalse) {\n          pcVar44 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar43 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(image,&transpix);\n        if (uVar18 == 8) {\n          if ((uVar12 & 0x4000) == 0) {\n            iVar20 = 0xff;\n            pauVar36 = PalmPalette;\n            do {\n              if (iVar20 < (int)image->colors) {\n                local_10c = iVar20 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (exception->severity != CorruptImageError) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                             0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n                }\n              }\n              fVar11 = DAT_002e814c;\n              pPVar34 = image->colormap;\n              pauVar35 = pauVar36 + 1;\n              iVar20 = iVar20 + -1;\n              *(double *)((int)&pPVar34->red + local_10c) =\n                   (double)((float)(*pauVar36)[0] * DAT_002e814c);\n              *(double *)((int)&pPVar34->green + local_10c) =\n                   (double)((float)(*pauVar36)[1] * fVar11);\n              *(double *)((int)&pPVar34->blue + local_10c) =\n                   (double)((float)(*pauVar36)[2] * fVar11);\n              pauVar36 = pauVar35;\n            } while (pauVar35 != (uchar (*) [3])"Pango Markup Language");\n          }\n          else {\n            uVar14 = ReadBlobMSBShort(image);\n            if (uVar14 != 0) {\n              iVar20 = 0xff;\n              do {\n                ReadBlobByte(image);\n                if ((iVar20 < 0) || ((int)image->colors <= iVar20)) {\n                  iVar25 = 0;\n                  if (exception->severity != CorruptImageError) {\n                    ThrowMagickException\n                              (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename\n                              );\n                  }\n                }\n                else {\n                  iVar25 = iVar20 * 0x50;\n                }\n                iVar20 = iVar20 + -1;\n                uVar24 = ReadBlobByte(image);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)((int)&image->colormap->red + iVar25) =\n                     (double)((float)(uVar24 & 0xff) * DAT_002e814c);\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->green + iVar25) = dVar1 * (double)(uVar24 & 0xff)\n                ;\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->blue + iVar25) = dVar1 * (double)(uVar24 & 0xff);\n              } while (0xff - (uint)uVar14 != iVar20);\n            }\n          }\n          if ((short)uVar12 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar12 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(image);\n          }\n          image->storage_class = DirectClass;\n          if (uVar18 == 0x10) goto LAB_002622bf;\n        }\n        image->storage_class = PseudoClass;\n        image->depth = 8;\n      }" if (parenthesized_expression "(uVar18 == 0x10)" ( (binary_expression "uVar18 == 0x10" identifier == number_literal) )) (compound_statement "{\n        GetPixelInfo(image,&transpix);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        ReadBlobByte(image);\n        iVar20 = ReadBlobByte(image);\n        fVar10 = DAT_00306a38;\n        fVar11 = DAT_002df8a8;\n        transpix.red = (MagickRealType)((DAT_002df8a8 * (float)iVar20) / DAT_00306a38);\n        iVar20 = ReadBlobByte(image);\n        transpix.green = (MagickRealType)(((float)iVar20 * fVar11) / DAT_0030d3a4);\n        iVar20 = ReadBlobByte(image);\n        transpix.blue = (MagickRealType)(((float)iVar20 * fVar11) / fVar10);\n        if ((short)uVar12 < 0) goto LAB_00262c40;\n        image->storage_class = DirectClass;\n      }" { (expression_statement "GetPixelInfo(image,&transpix);" (call_expression "GetPixelInfo(image,&transpix)" identifier (argument_list "(image,&transpix)" ( identifier , (pointer_expression "&transpix" & identifier) ))) ;) (expression_statement "ReadBlobByte(image);" (call_expression "ReadBlobByte(image)" identifier (argument_list "(image)" ( identifier ))) ;) (expression_statement "ReadBlobByte(image);" (call_expression "ReadBlobByte(image)" identifier (argument_list "(image)" ( identifier ))) ;) (expression_statement "ReadBlobByte(image);" (call_expression "ReadBlobByte(image)" identifier (argument_list "(image)" ( identifier ))) ;) (expression_statement "ReadBlobByte(image);" (call_expression "ReadBlobByte(image)" identifier (argument_list "(image)" ( identifier ))) ;) (expression_statement "ReadBlobByte(image);" (call_expression "ReadBlobByte(image)" identifier (argument_list "(image)" ( identifier ))) ;) (expression_statement "iVar20 = ReadBlobByte(image);" (assignment_expression "iVar20 = ReadBlobByte(image)" identifier = (call_expression "ReadBlobByte(image)" identifier (argument_list "(image)" ( identifier )))) ;) (expression_statement "fVar10 = DAT_00306a38;" (assignment_expression "fVar10 = DAT_00306a38" identifier = identifier) ;) (expression_statement "fVar11 = DAT_002df8a8;" (assignment_expression "fVar11 = DAT_002df8a8" identifier = identifier) ;) (expression_statement "transpix.red = (MagickRealType)((DAT_002df8a8 * (float)iVar20) / DAT_00306a38);" (assignment_expression "transpix.red = (MagickRealType)((DAT_002df8a8 * (float)iVar20) / DAT_00306a38)" (field_expression "transpix.red" identifier . field_identifier) = (call_expression "(MagickRealType)((DAT_002df8a8 * (float)iVar20) / DAT_00306a38)" (parenthesized_expression "(MagickRealType)" ( identifier )) (argument_list "((DAT_002df8a8 * (float)iVar20) / DAT_00306a38)" ( (binary_expression "(DAT_002df8a8 * (float)iVar20) / DAT_00306a38" (parenthesized_expression "(DAT_002df8a8 * (float)iVar20)" ( (binary_expression "DAT_002df8a8 * (float)iVar20" identifier * (cast_expression "(float)iVar20" ( (type_descriptor "float" primitive_type) ) identifier)) )) / identifier) )))) ;) (expression_statement "iVar20 = ReadBlobByte(image);" (assignment_expression "iVar20 = ReadBlobByte(image)" identifier = (call_expression "ReadBlobByte(image)" identifier (argument_list "(image)" ( identifier )))) ;) (expression_statement "transpix.green = (MagickRealType)(((float)iVar20 * fVar11) / DAT_0030d3a4);" (assignment_expression "transpix.green = (MagickRealType)(((float)iVar20 * fVar11) / DAT_0030d3a4)" (field_expression "transpix.green" identifier . field_identifier) = (call_expression "(MagickRealType)(((float)iVar20 * fVar11) / DAT_0030d3a4)" (parenthesized_expression "(MagickRealType)" ( identifier )) (argument_list "(((float)iVar20 * fVar11) / DAT_0030d3a4)" ( (binary_expression "((float)iVar20 * fVar11) / DAT_0030d3a4" (parenthesized_expression "((float)iVar20 * fVar11)" ( (binary_expression "(float)iVar20 * fVar11" (cast_expression "(float)iVar20" ( (type_descriptor "float" primitive_type) ) identifier) * identifier) )) / identifier) )))) ;) (expression_statement "iVar20 = ReadBlobByte(image);" (assignment_expression "iVar20 = ReadBlobByte(image)" identifier = (call_expression "ReadBlobByte(image)" identifier (argument_list "(image)" ( identifier )))) ;) (expression_statement "transpix.blue = (MagickRealType)(((float)iVar20 * fVar11) / fVar10);" (assignment_expression "transpix.blue = (MagickRealType)(((float)iVar20 * fVar11) / fVar10)" (field_expression "transpix.blue" identifier . field_identifier) = (call_expression "(MagickRealType)(((float)iVar20 * fVar11) / fVar10)" (parenthesized_expression "(MagickRealType)" ( identifier )) (argument_list "(((float)iVar20 * fVar11) / fVar10)" ( (binary_expression "((float)iVar20 * fVar11) / fVar10" (parenthesized_expression "((float)iVar20 * fVar11)" ( (binary_expression "(float)iVar20 * fVar11" (cast_expression "(float)iVar20" ( (type_descriptor "float" primitive_type) ) identifier) * identifier) )) / identifier) )))) ;) (if_statement "if ((short)uVar12 < 0) goto LAB_00262c40;" if (parenthesized_expression "((short)uVar12 < 0)" ( (binary_expression "(short)uVar12 < 0" (cast_expression "(short)uVar12" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) < number_literal) )) (goto_statement "goto LAB_00262c40;" goto statement_identifier ;)) (expression_statement "image->storage_class = DirectClass;" (assignment_expression "image->storage_class = DirectClass" (field_expression "image->storage_class" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\n        MVar15 = AcquireImageColormap(image,1 << ((byte)uVar18 & 0x1f),exception);\n        if (MVar15 == MagickFalse) {\n          pcVar44 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar43 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(image,&transpix);\n        if (uVar18 == 8) {\n          if ((uVar12 & 0x4000) == 0) {\n            iVar20 = 0xff;\n            pauVar36 = PalmPalette;\n            do {\n              if (iVar20 < (int)image->colors) {\n                local_10c = iVar20 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (exception->severity != CorruptImageError) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                             0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n                }\n              }\n              fVar11 = DAT_002e814c;\n              pPVar34 = image->colormap;\n              pauVar35 = pauVar36 + 1;\n              iVar20 = iVar20 + -1;\n              *(double *)((int)&pPVar34->red + local_10c) =\n                   (double)((float)(*pauVar36)[0] * DAT_002e814c);\n              *(double *)((int)&pPVar34->green + local_10c) =\n                   (double)((float)(*pauVar36)[1] * fVar11);\n              *(double *)((int)&pPVar34->blue + local_10c) =\n                   (double)((float)(*pauVar36)[2] * fVar11);\n              pauVar36 = pauVar35;\n            } while (pauVar35 != (uchar (*) [3])"Pango Markup Language");\n          }\n          else {\n            uVar14 = ReadBlobMSBShort(image);\n            if (uVar14 != 0) {\n              iVar20 = 0xff;\n              do {\n                ReadBlobByte(image);\n                if ((iVar20 < 0) || ((int)image->colors <= iVar20)) {\n                  iVar25 = 0;\n                  if (exception->severity != CorruptImageError) {\n                    ThrowMagickException\n                              (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename\n                              );\n                  }\n                }\n                else {\n                  iVar25 = iVar20 * 0x50;\n                }\n                iVar20 = iVar20 + -1;\n                uVar24 = ReadBlobByte(image);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)((int)&image->colormap->red + iVar25) =\n                     (double)((float)(uVar24 & 0xff) * DAT_002e814c);\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->green + iVar25) = dVar1 * (double)(uVar24 & 0xff)\n                ;\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->blue + iVar25) = dVar1 * (double)(uVar24 & 0xff);\n              } while (0xff - (uint)uVar14 != iVar20);\n            }\n          }\n          if ((short)uVar12 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar12 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(image);\n          }\n          image->storage_class = DirectClass;\n          if (uVar18 == 0x10) goto LAB_002622bf;\n        }\n        image->storage_class = PseudoClass;\n        image->depth = 8;\n      }" else (compound_statement "{\n        MVar15 = AcquireImageColormap(image,1 << ((byte)uVar18 & 0x1f),exception);\n        if (MVar15 == MagickFalse) {\n          pcVar44 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar43 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(image,&transpix);\n        if (uVar18 == 8) {\n          if ((uVar12 & 0x4000) == 0) {\n            iVar20 = 0xff;\n            pauVar36 = PalmPalette;\n            do {\n              if (iVar20 < (int)image->colors) {\n                local_10c = iVar20 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (exception->severity != CorruptImageError) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                             0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n                }\n              }\n              fVar11 = DAT_002e814c;\n              pPVar34 = image->colormap;\n              pauVar35 = pauVar36 + 1;\n              iVar20 = iVar20 + -1;\n              *(double *)((int)&pPVar34->red + local_10c) =\n                   (double)((float)(*pauVar36)[0] * DAT_002e814c);\n              *(double *)((int)&pPVar34->green + local_10c) =\n                   (double)((float)(*pauVar36)[1] * fVar11);\n              *(double *)((int)&pPVar34->blue + local_10c) =\n                   (double)((float)(*pauVar36)[2] * fVar11);\n              pauVar36 = pauVar35;\n            } while (pauVar35 != (uchar (*) [3])"Pango Markup Language");\n          }\n          else {\n            uVar14 = ReadBlobMSBShort(image);\n            if (uVar14 != 0) {\n              iVar20 = 0xff;\n              do {\n                ReadBlobByte(image);\n                if ((iVar20 < 0) || ((int)image->colors <= iVar20)) {\n                  iVar25 = 0;\n                  if (exception->severity != CorruptImageError) {\n                    ThrowMagickException\n                              (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename\n                              );\n                  }\n                }\n                else {\n                  iVar25 = iVar20 * 0x50;\n                }\n                iVar20 = iVar20 + -1;\n                uVar24 = ReadBlobByte(image);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)((int)&image->colormap->red + iVar25) =\n                     (double)((float)(uVar24 & 0xff) * DAT_002e814c);\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->green + iVar25) = dVar1 * (double)(uVar24 & 0xff)\n                ;\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->blue + iVar25) = dVar1 * (double)(uVar24 & 0xff);\n              } while (0xff - (uint)uVar14 != iVar20);\n            }\n          }\n          if ((short)uVar12 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar12 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(image);\n          }\n          image->storage_class = DirectClass;\n          if (uVar18 == 0x10) goto LAB_002622bf;\n        }\n        image->storage_class = PseudoClass;\n        image->depth = 8;\n      }" { (expression_statement "MVar15 = AcquireImageColormap(image,1 << ((byte)uVar18 & 0x1f),exception);" (assignment_expression "MVar15 = AcquireImageColormap(image,1 << ((byte)uVar18 & 0x1f),exception)" identifier = (call_expression "AcquireImageColormap(image,1 << ((byte)uVar18 & 0x1f),exception)" identifier (argument_list "(image,1 << ((byte)uVar18 & 0x1f),exception)" ( identifier , (binary_expression "1 << ((byte)uVar18 & 0x1f)" number_literal << (parenthesized_expression "((byte)uVar18 & 0x1f)" ( (binary_expression "(byte)uVar18 & 0x1f" (cast_expression "(byte)uVar18" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) , identifier )))) ;) (if_statement "if (MVar15 == MagickFalse) {\n          pcVar44 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar43 = 0x158;\n          goto LAB_0026218b;\n        }" if (parenthesized_expression "(MVar15 == MagickFalse)" ( (binary_expression "MVar15 == MagickFalse" identifier == identifier) )) (compound_statement "{\n          pcVar44 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar43 = 0x158;\n          goto LAB_0026218b;\n        }" { (expression_statement "pcVar44 = "MemoryAllocationFailed";" (assignment_expression "pcVar44 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "severity = ErrorException;" (assignment_expression "severity = ErrorException" identifier = identifier) ;) (expression_statement "sVar43 = 0x158;" (assignment_expression "sVar43 = 0x158" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "GetPixelInfo(image,&transpix);" (call_expression "GetPixelInfo(image,&transpix)" identifier (argument_list "(image,&transpix)" ( identifier , (pointer_expression "&transpix" & identifier) ))) ;) (if_statement "if (uVar18 == 8) {\n          if ((uVar12 & 0x4000) == 0) {\n            iVar20 = 0xff;\n            pauVar36 = PalmPalette;\n            do {\n              if (iVar20 < (int)image->colors) {\n                local_10c = iVar20 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (exception->severity != CorruptImageError) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                             0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n                }\n              }\n              fVar11 = DAT_002e814c;\n              pPVar34 = image->colormap;\n              pauVar35 = pauVar36 + 1;\n              iVar20 = iVar20 + -1;\n              *(double *)((int)&pPVar34->red + local_10c) =\n                   (double)((float)(*pauVar36)[0] * DAT_002e814c);\n              *(double *)((int)&pPVar34->green + local_10c) =\n                   (double)((float)(*pauVar36)[1] * fVar11);\n              *(double *)((int)&pPVar34->blue + local_10c) =\n                   (double)((float)(*pauVar36)[2] * fVar11);\n              pauVar36 = pauVar35;\n            } while (pauVar35 != (uchar (*) [3])"Pango Markup Language");\n          }\n          else {\n            uVar14 = ReadBlobMSBShort(image);\n            if (uVar14 != 0) {\n              iVar20 = 0xff;\n              do {\n                ReadBlobByte(image);\n                if ((iVar20 < 0) || ((int)image->colors <= iVar20)) {\n                  iVar25 = 0;\n                  if (exception->severity != CorruptImageError) {\n                    ThrowMagickException\n                              (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename\n                              );\n                  }\n                }\n                else {\n                  iVar25 = iVar20 * 0x50;\n                }\n                iVar20 = iVar20 + -1;\n                uVar24 = ReadBlobByte(image);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)((int)&image->colormap->red + iVar25) =\n                     (double)((float)(uVar24 & 0xff) * DAT_002e814c);\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->green + iVar25) = dVar1 * (double)(uVar24 & 0xff)\n                ;\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->blue + iVar25) = dVar1 * (double)(uVar24 & 0xff);\n              } while (0xff - (uint)uVar14 != iVar20);\n            }\n          }\n          if ((short)uVar12 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar12 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(image);\n          }\n          image->storage_class = DirectClass;\n          if (uVar18 == 0x10) goto LAB_002622bf;\n        }" if (parenthesized_expression "(uVar18 == 8)" ( (binary_expression "uVar18 == 8" identifier == number_literal) )) (compound_statement "{\n          if ((uVar12 & 0x4000) == 0) {\n            iVar20 = 0xff;\n            pauVar36 = PalmPalette;\n            do {\n              if (iVar20 < (int)image->colors) {\n                local_10c = iVar20 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (exception->severity != CorruptImageError) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                             0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n                }\n              }\n              fVar11 = DAT_002e814c;\n              pPVar34 = image->colormap;\n              pauVar35 = pauVar36 + 1;\n              iVar20 = iVar20 + -1;\n              *(double *)((int)&pPVar34->red + local_10c) =\n                   (double)((float)(*pauVar36)[0] * DAT_002e814c);\n              *(double *)((int)&pPVar34->green + local_10c) =\n                   (double)((float)(*pauVar36)[1] * fVar11);\n              *(double *)((int)&pPVar34->blue + local_10c) =\n                   (double)((float)(*pauVar36)[2] * fVar11);\n              pauVar36 = pauVar35;\n            } while (pauVar35 != (uchar (*) [3])"Pango Markup Language");\n          }\n          else {\n            uVar14 = ReadBlobMSBShort(image);\n            if (uVar14 != 0) {\n              iVar20 = 0xff;\n              do {\n                ReadBlobByte(image);\n                if ((iVar20 < 0) || ((int)image->colors <= iVar20)) {\n                  iVar25 = 0;\n                  if (exception->severity != CorruptImageError) {\n                    ThrowMagickException\n                              (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename\n                              );\n                  }\n                }\n                else {\n                  iVar25 = iVar20 * 0x50;\n                }\n                iVar20 = iVar20 + -1;\n                uVar24 = ReadBlobByte(image);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)((int)&image->colormap->red + iVar25) =\n                     (double)((float)(uVar24 & 0xff) * DAT_002e814c);\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->green + iVar25) = dVar1 * (double)(uVar24 & 0xff)\n                ;\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->blue + iVar25) = dVar1 * (double)(uVar24 & 0xff);\n              } while (0xff - (uint)uVar14 != iVar20);\n            }\n          }\n          if ((short)uVar12 < 0) goto LAB_00262c40;\n        }" { (if_statement "if ((uVar12 & 0x4000) == 0) {\n            iVar20 = 0xff;\n            pauVar36 = PalmPalette;\n            do {\n              if (iVar20 < (int)image->colors) {\n                local_10c = iVar20 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (exception->severity != CorruptImageError) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                             0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n                }\n              }\n              fVar11 = DAT_002e814c;\n              pPVar34 = image->colormap;\n              pauVar35 = pauVar36 + 1;\n              iVar20 = iVar20 + -1;\n              *(double *)((int)&pPVar34->red + local_10c) =\n                   (double)((float)(*pauVar36)[0] * DAT_002e814c);\n              *(double *)((int)&pPVar34->green + local_10c) =\n                   (double)((float)(*pauVar36)[1] * fVar11);\n              *(double *)((int)&pPVar34->blue + local_10c) =\n                   (double)((float)(*pauVar36)[2] * fVar11);\n              pauVar36 = pauVar35;\n            } while (pauVar35 != (uchar (*) [3])"Pango Markup Language");\n          }\n          else {\n            uVar14 = ReadBlobMSBShort(image);\n            if (uVar14 != 0) {\n              iVar20 = 0xff;\n              do {\n                ReadBlobByte(image);\n                if ((iVar20 < 0) || ((int)image->colors <= iVar20)) {\n                  iVar25 = 0;\n                  if (exception->severity != CorruptImageError) {\n                    ThrowMagickException\n                              (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename\n                              );\n                  }\n                }\n                else {\n                  iVar25 = iVar20 * 0x50;\n                }\n                iVar20 = iVar20 + -1;\n                uVar24 = ReadBlobByte(image);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)((int)&image->colormap->red + iVar25) =\n                     (double)((float)(uVar24 & 0xff) * DAT_002e814c);\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->green + iVar25) = dVar1 * (double)(uVar24 & 0xff)\n                ;\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->blue + iVar25) = dVar1 * (double)(uVar24 & 0xff);\n              } while (0xff - (uint)uVar14 != iVar20);\n            }\n          }" if (parenthesized_expression "((uVar12 & 0x4000) == 0)" ( (binary_expression "(uVar12 & 0x4000) == 0" (parenthesized_expression "(uVar12 & 0x4000)" ( (binary_expression "uVar12 & 0x4000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            iVar20 = 0xff;\n            pauVar36 = PalmPalette;\n            do {\n              if (iVar20 < (int)image->colors) {\n                local_10c = iVar20 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (exception->severity != CorruptImageError) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                             0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n                }\n              }\n              fVar11 = DAT_002e814c;\n              pPVar34 = image->colormap;\n              pauVar35 = pauVar36 + 1;\n              iVar20 = iVar20 + -1;\n              *(double *)((int)&pPVar34->red + local_10c) =\n                   (double)((float)(*pauVar36)[0] * DAT_002e814c);\n              *(double *)((int)&pPVar34->green + local_10c) =\n                   (double)((float)(*pauVar36)[1] * fVar11);\n              *(double *)((int)&pPVar34->blue + local_10c) =\n                   (double)((float)(*pauVar36)[2] * fVar11);\n              pauVar36 = pauVar35;\n            } while (pauVar35 != (uchar (*) [3])"Pango Markup Language");\n          }" { (expression_statement "iVar20 = 0xff;" (assignment_expression "iVar20 = 0xff" identifier = number_literal) ;) (expression_statement "pauVar36 = PalmPalette;" (assignment_expression "pauVar36 = PalmPalette" identifier = identifier) ;) (do_statement "do {\n              if (iVar20 < (int)image->colors) {\n                local_10c = iVar20 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (exception->severity != CorruptImageError) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                             0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n                }\n              }\n              fVar11 = DAT_002e814c;\n              pPVar34 = image->colormap;\n              pauVar35 = pauVar36 + 1;\n              iVar20 = iVar20 + -1;\n              *(double *)((int)&pPVar34->red + local_10c) =\n                   (double)((float)(*pauVar36)[0] * DAT_002e814c);\n              *(double *)((int)&pPVar34->green + local_10c) =\n                   (double)((float)(*pauVar36)[1] * fVar11);\n              *(double *)((int)&pPVar34->blue + local_10c) =\n                   (double)((float)(*pauVar36)[2] * fVar11);\n              pauVar36 = pauVar35;\n            } while (pauVar35 != (uchar (*) [3])"Pango Markup Language");" do (compound_statement "{\n              if (iVar20 < (int)image->colors) {\n                local_10c = iVar20 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (exception->severity != CorruptImageError) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                             0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n                }\n              }\n              fVar11 = DAT_002e814c;\n              pPVar34 = image->colormap;\n              pauVar35 = pauVar36 + 1;\n              iVar20 = iVar20 + -1;\n              *(double *)((int)&pPVar34->red + local_10c) =\n                   (double)((float)(*pauVar36)[0] * DAT_002e814c);\n              *(double *)((int)&pPVar34->green + local_10c) =\n                   (double)((float)(*pauVar36)[1] * fVar11);\n              *(double *)((int)&pPVar34->blue + local_10c) =\n                   (double)((float)(*pauVar36)[2] * fVar11);\n              pauVar36 = pauVar35;\n            }" { (if_statement "if (iVar20 < (int)image->colors) {\n                local_10c = iVar20 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (exception->severity != CorruptImageError) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                             0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n                }\n              }" if (parenthesized_expression "(iVar20 < (int)image->colors)" ( (binary_expression "iVar20 < (int)image->colors" identifier < (cast_expression "(int)image->colors" ( (type_descriptor "int" primitive_type) ) (field_expression "image->colors" identifier -> field_identifier))) )) (compound_statement "{\n                local_10c = iVar20 * 0x50;\n              }" { (expression_statement "local_10c = iVar20 * 0x50;" (assignment_expression "local_10c = iVar20 * 0x50" identifier = (binary_expression "iVar20 * 0x50" identifier * number_literal)) ;) }) (else_clause "else {\n                local_10c = 0;\n                if (exception->severity != CorruptImageError) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                             0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n                }\n              }" else (compound_statement "{\n                local_10c = 0;\n                if (exception->severity != CorruptImageError) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                             0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n                }\n              }" { (expression_statement "local_10c = 0;" (assignment_expression "local_10c = 0" identifier = number_literal) ;) (if_statement "if (exception->severity != CorruptImageError) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                             0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n                }" if (parenthesized_expression "(exception->severity != CorruptImageError)" ( (binary_expression "exception->severity != CorruptImageError" (field_expression "exception->severity" identifier -> field_identifier) != identifier) )) (compound_statement "{\n                  local_10c = 0;\n                  ThrowMagickException\n                            (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                             0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n                }" { (expression_statement "local_10c = 0;" (assignment_expression "local_10c = 0" identifier = number_literal) ;) (expression_statement "ThrowMagickException\n                            (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                             0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);" (call_expression "ThrowMagickException\n                            (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                             0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename)" identifier (argument_list "(exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                             0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename)" ( identifier , (string_literal ""./MagickCore/colormap-private.h"" " string_content ") , (string_literal ""ConstrainColormapIndex"" " string_content ") , number_literal , identifier , (string_literal ""InvalidColormapIndex"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (field_expression "image->filename" identifier -> field_identifier) ))) ;) })) }))) (expression_statement "fVar11 = DAT_002e814c;" (assignment_expression "fVar11 = DAT_002e814c" identifier = identifier) ;) (expression_statement "pPVar34 = image->colormap;" (assignment_expression "pPVar34 = image->colormap" identifier = (field_expression "image->colormap" identifier -> field_identifier)) ;) (expression_statement "pauVar35 = pauVar36 + 1;" (assignment_expression "pauVar35 = pauVar36 + 1" identifier = (binary_expression "pauVar36 + 1" identifier + number_literal)) ;) (expression_statement "iVar20 = iVar20 + -1;" (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ;) (expression_statement "*(double *)((int)&pPVar34->red + local_10c) =\n                   (double)((float)(*pauVar36)[0] * DAT_002e814c);" (assignment_expression "*(double *)((int)&pPVar34->red + local_10c) =\n                   (double)((float)(*pauVar36)[0] * DAT_002e814c)" (pointer_expression "*(double *)((int)&pPVar34->red + local_10c)" * (cast_expression "(double *)((int)&pPVar34->red + local_10c)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pPVar34->red + local_10c)" ( (binary_expression "(int)&pPVar34->red + local_10c" (cast_expression "(int)&pPVar34->red" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pPVar34->red" & (field_expression "pPVar34->red" identifier -> field_identifier))) + identifier) )))) = (cast_expression "(double)((float)(*pauVar36)[0] * DAT_002e814c)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)(*pauVar36)[0] * DAT_002e814c)" ( (binary_expression "(float)(*pauVar36)[0] * DAT_002e814c" (cast_expression "(float)(*pauVar36)[0]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "(*pauVar36)[0]" (parenthesized_expression "(*pauVar36)" ( (pointer_expression "*pauVar36" * identifier) )) [ number_literal ])) * identifier) )))) ;) (expression_statement "*(double *)((int)&pPVar34->green + local_10c) =\n                   (double)((float)(*pauVar36)[1] * fVar11);" (assignment_expression "*(double *)((int)&pPVar34->green + local_10c) =\n                   (double)((float)(*pauVar36)[1] * fVar11)" (pointer_expression "*(double *)((int)&pPVar34->green + local_10c)" * (cast_expression "(double *)((int)&pPVar34->green + local_10c)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pPVar34->green + local_10c)" ( (binary_expression "(int)&pPVar34->green + local_10c" (cast_expression "(int)&pPVar34->green" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pPVar34->green" & (field_expression "pPVar34->green" identifier -> field_identifier))) + identifier) )))) = (cast_expression "(double)((float)(*pauVar36)[1] * fVar11)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)(*pauVar36)[1] * fVar11)" ( (binary_expression "(float)(*pauVar36)[1] * fVar11" (cast_expression "(float)(*pauVar36)[1]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "(*pauVar36)[1]" (parenthesized_expression "(*pauVar36)" ( (pointer_expression "*pauVar36" * identifier) )) [ number_literal ])) * identifier) )))) ;) (expression_statement "*(double *)((int)&pPVar34->blue + local_10c) =\n                   (double)((float)(*pauVar36)[2] * fVar11);" (assignment_expression "*(double *)((int)&pPVar34->blue + local_10c) =\n                   (double)((float)(*pauVar36)[2] * fVar11)" (pointer_expression "*(double *)((int)&pPVar34->blue + local_10c)" * (cast_expression "(double *)((int)&pPVar34->blue + local_10c)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pPVar34->blue + local_10c)" ( (binary_expression "(int)&pPVar34->blue + local_10c" (cast_expression "(int)&pPVar34->blue" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pPVar34->blue" & (field_expression "pPVar34->blue" identifier -> field_identifier))) + identifier) )))) = (cast_expression "(double)((float)(*pauVar36)[2] * fVar11)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)(*pauVar36)[2] * fVar11)" ( (binary_expression "(float)(*pauVar36)[2] * fVar11" (cast_expression "(float)(*pauVar36)[2]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "(*pauVar36)[2]" (parenthesized_expression "(*pauVar36)" ( (pointer_expression "*pauVar36" * identifier) )) [ number_literal ])) * identifier) )))) ;) (expression_statement "pauVar36 = pauVar35;" (assignment_expression "pauVar36 = pauVar35" identifier = identifier) ;) }) while (parenthesized_expression "(pauVar35 != (uchar (*) [3])"Pango Markup Language")" ( (binary_expression "pauVar35 != (uchar (*) [3])"Pango Markup Language"" identifier != (cast_expression "(uchar (*) [3])"Pango Markup Language"" ( (type_descriptor "uchar (*) [3]" type_identifier (abstract_array_declarator "(*) [3]" (abstract_parenthesized_declarator "(*)" ( (abstract_pointer_declarator "*" *) )) [ number_literal ])) ) (string_literal ""Pango Markup Language"" " string_content "))) )) ;) }) (else_clause "else {\n            uVar14 = ReadBlobMSBShort(image);\n            if (uVar14 != 0) {\n              iVar20 = 0xff;\n              do {\n                ReadBlobByte(image);\n                if ((iVar20 < 0) || ((int)image->colors <= iVar20)) {\n                  iVar25 = 0;\n                  if (exception->severity != CorruptImageError) {\n                    ThrowMagickException\n                              (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename\n                              );\n                  }\n                }\n                else {\n                  iVar25 = iVar20 * 0x50;\n                }\n                iVar20 = iVar20 + -1;\n                uVar24 = ReadBlobByte(image);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)((int)&image->colormap->red + iVar25) =\n                     (double)((float)(uVar24 & 0xff) * DAT_002e814c);\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->green + iVar25) = dVar1 * (double)(uVar24 & 0xff)\n                ;\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->blue + iVar25) = dVar1 * (double)(uVar24 & 0xff);\n              } while (0xff - (uint)uVar14 != iVar20);\n            }\n          }" else (compound_statement "{\n            uVar14 = ReadBlobMSBShort(image);\n            if (uVar14 != 0) {\n              iVar20 = 0xff;\n              do {\n                ReadBlobByte(image);\n                if ((iVar20 < 0) || ((int)image->colors <= iVar20)) {\n                  iVar25 = 0;\n                  if (exception->severity != CorruptImageError) {\n                    ThrowMagickException\n                              (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename\n                              );\n                  }\n                }\n                else {\n                  iVar25 = iVar20 * 0x50;\n                }\n                iVar20 = iVar20 + -1;\n                uVar24 = ReadBlobByte(image);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)((int)&image->colormap->red + iVar25) =\n                     (double)((float)(uVar24 & 0xff) * DAT_002e814c);\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->green + iVar25) = dVar1 * (double)(uVar24 & 0xff)\n                ;\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->blue + iVar25) = dVar1 * (double)(uVar24 & 0xff);\n              } while (0xff - (uint)uVar14 != iVar20);\n            }\n          }" { (expression_statement "uVar14 = ReadBlobMSBShort(image);" (assignment_expression "uVar14 = ReadBlobMSBShort(image)" identifier = (call_expression "ReadBlobMSBShort(image)" identifier (argument_list "(image)" ( identifier )))) ;) (if_statement "if (uVar14 != 0) {\n              iVar20 = 0xff;\n              do {\n                ReadBlobByte(image);\n                if ((iVar20 < 0) || ((int)image->colors <= iVar20)) {\n                  iVar25 = 0;\n                  if (exception->severity != CorruptImageError) {\n                    ThrowMagickException\n                              (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename\n                              );\n                  }\n                }\n                else {\n                  iVar25 = iVar20 * 0x50;\n                }\n                iVar20 = iVar20 + -1;\n                uVar24 = ReadBlobByte(image);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)((int)&image->colormap->red + iVar25) =\n                     (double)((float)(uVar24 & 0xff) * DAT_002e814c);\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->green + iVar25) = dVar1 * (double)(uVar24 & 0xff)\n                ;\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->blue + iVar25) = dVar1 * (double)(uVar24 & 0xff);\n              } while (0xff - (uint)uVar14 != iVar20);\n            }" if (parenthesized_expression "(uVar14 != 0)" ( (binary_expression "uVar14 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar20 = 0xff;\n              do {\n                ReadBlobByte(image);\n                if ((iVar20 < 0) || ((int)image->colors <= iVar20)) {\n                  iVar25 = 0;\n                  if (exception->severity != CorruptImageError) {\n                    ThrowMagickException\n                              (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename\n                              );\n                  }\n                }\n                else {\n                  iVar25 = iVar20 * 0x50;\n                }\n                iVar20 = iVar20 + -1;\n                uVar24 = ReadBlobByte(image);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)((int)&image->colormap->red + iVar25) =\n                     (double)((float)(uVar24 & 0xff) * DAT_002e814c);\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->green + iVar25) = dVar1 * (double)(uVar24 & 0xff)\n                ;\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->blue + iVar25) = dVar1 * (double)(uVar24 & 0xff);\n              } while (0xff - (uint)uVar14 != iVar20);\n            }" { (expression_statement "iVar20 = 0xff;" (assignment_expression "iVar20 = 0xff" identifier = number_literal) ;) (do_statement "do {\n                ReadBlobByte(image);\n                if ((iVar20 < 0) || ((int)image->colors <= iVar20)) {\n                  iVar25 = 0;\n                  if (exception->severity != CorruptImageError) {\n                    ThrowMagickException\n                              (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename\n                              );\n                  }\n                }\n                else {\n                  iVar25 = iVar20 * 0x50;\n                }\n                iVar20 = iVar20 + -1;\n                uVar24 = ReadBlobByte(image);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)((int)&image->colormap->red + iVar25) =\n                     (double)((float)(uVar24 & 0xff) * DAT_002e814c);\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->green + iVar25) = dVar1 * (double)(uVar24 & 0xff)\n                ;\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->blue + iVar25) = dVar1 * (double)(uVar24 & 0xff);\n              } while (0xff - (uint)uVar14 != iVar20);" do (compound_statement "{\n                ReadBlobByte(image);\n                if ((iVar20 < 0) || ((int)image->colors <= iVar20)) {\n                  iVar25 = 0;\n                  if (exception->severity != CorruptImageError) {\n                    ThrowMagickException\n                              (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename\n                              );\n                  }\n                }\n                else {\n                  iVar25 = iVar20 * 0x50;\n                }\n                iVar20 = iVar20 + -1;\n                uVar24 = ReadBlobByte(image);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)((int)&image->colormap->red + iVar25) =\n                     (double)((float)(uVar24 & 0xff) * DAT_002e814c);\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->green + iVar25) = dVar1 * (double)(uVar24 & 0xff)\n                ;\n                uVar24 = ReadBlobByte(image);\n                *(double *)((int)&image->colormap->blue + iVar25) = dVar1 * (double)(uVar24 & 0xff);\n              }" { (expression_statement "ReadBlobByte(image);" (call_expression "ReadBlobByte(image)" identifier (argument_list "(image)" ( identifier ))) ;) (if_statement "if ((iVar20 < 0) || ((int)image->colors <= iVar20)) {\n                  iVar25 = 0;\n                  if (exception->severity != CorruptImageError) {\n                    ThrowMagickException\n                              (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename\n                              );\n                  }\n                }\n                else {\n                  iVar25 = iVar20 * 0x50;\n                }" if (parenthesized_expression "((iVar20 < 0) || ((int)image->colors <= iVar20))" ( (binary_expression "(iVar20 < 0) || ((int)image->colors <= iVar20)" (parenthesized_expression "(iVar20 < 0)" ( (binary_expression "iVar20 < 0" identifier < number_literal) )) || (parenthesized_expression "((int)image->colors <= iVar20)" ( (binary_expression "(int)image->colors <= iVar20" (cast_expression "(int)image->colors" ( (type_descriptor "int" primitive_type) ) (field_expression "image->colors" identifier -> field_identifier)) <= identifier) ))) )) (compound_statement "{\n                  iVar25 = 0;\n                  if (exception->severity != CorruptImageError) {\n                    ThrowMagickException\n                              (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename\n                              );\n                  }\n                }" { (expression_statement "iVar25 = 0;" (assignment_expression "iVar25 = 0" identifier = number_literal) ;) (if_statement "if (exception->severity != CorruptImageError) {\n                    ThrowMagickException\n                              (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename\n                              );\n                  }" if (parenthesized_expression "(exception->severity != CorruptImageError)" ( (binary_expression "exception->severity != CorruptImageError" (field_expression "exception->severity" identifier -> field_identifier) != identifier) )) (compound_statement "{\n                    ThrowMagickException\n                              (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename\n                              );\n                  }" { (expression_statement "ThrowMagickException\n                              (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename\n                              );" (call_expression "ThrowMagickException\n                              (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename\n                              )" identifier (argument_list "(exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename\n                              )" ( identifier , (string_literal ""./MagickCore/colormap-private.h"" " string_content ") , (string_literal ""ConstrainColormapIndex"" " string_content ") , number_literal , identifier , (string_literal ""InvalidColormapIndex"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (field_expression "image->filename" identifier -> field_identifier) ))) ;) })) }) (else_clause "else {\n                  iVar25 = iVar20 * 0x50;\n                }" else (compound_statement "{\n                  iVar25 = iVar20 * 0x50;\n                }" { (expression_statement "iVar25 = iVar20 * 0x50;" (assignment_expression "iVar25 = iVar20 * 0x50" identifier = (binary_expression "iVar20 * 0x50" identifier * number_literal)) ;) }))) (expression_statement "iVar20 = iVar20 + -1;" (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ;) (expression_statement "uVar24 = ReadBlobByte(image);" (assignment_expression "uVar24 = ReadBlobByte(image)" identifier = (call_expression "ReadBlobByte(image)" identifier (argument_list "(image)" ( identifier )))) ;) (expression_statement "dVar1 = (double)DAT_002e814c;" (assignment_expression "dVar1 = (double)DAT_002e814c" identifier = (cast_expression "(double)DAT_002e814c" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "*(double *)((int)&image->colormap->red + iVar25) =\n                     (double)((float)(uVar24 & 0xff) * DAT_002e814c);" (assignment_expression "*(double *)((int)&image->colormap->red + iVar25) =\n                     (double)((float)(uVar24 & 0xff) * DAT_002e814c)" (pointer_expression "*(double *)((int)&image->colormap->red + iVar25)" * (cast_expression "(double *)((int)&image->colormap->red + iVar25)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&image->colormap->red + iVar25)" ( (binary_expression "(int)&image->colormap->red + iVar25" (cast_expression "(int)&image->colormap->red" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&image->colormap->red" & (field_expression "image->colormap->red" (field_expression "image->colormap" identifier -> field_identifier) -> field_identifier))) + identifier) )))) = (cast_expression "(double)((float)(uVar24 & 0xff) * DAT_002e814c)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)(uVar24 & 0xff) * DAT_002e814c)" ( (binary_expression "(float)(uVar24 & 0xff) * DAT_002e814c" (cast_expression "(float)(uVar24 & 0xff)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(uVar24 & 0xff)" ( (binary_expression "uVar24 & 0xff" identifier & number_literal) ))) * identifier) )))) ;) (expression_statement "uVar24 = ReadBlobByte(image);" (assignment_expression "uVar24 = ReadBlobByte(image)" identifier = (call_expression "ReadBlobByte(image)" identifier (argument_list "(image)" ( identifier )))) ;) (expression_statement "*(double *)((int)&image->colormap->green + iVar25) = dVar1 * (double)(uVar24 & 0xff)\n                ;" (assignment_expression "*(double *)((int)&image->colormap->green + iVar25) = dVar1 * (double)(uVar24 & 0xff)" (pointer_expression "*(double *)((int)&image->colormap->green + iVar25)" * (cast_expression "(double *)((int)&image->colormap->green + iVar25)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&image->colormap->green + iVar25)" ( (binary_expression "(int)&image->colormap->green + iVar25" (cast_expression "(int)&image->colormap->green" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&image->colormap->green" & (field_expression "image->colormap->green" (field_expression "image->colormap" identifier -> field_identifier) -> field_identifier))) + identifier) )))) = (binary_expression "dVar1 * (double)(uVar24 & 0xff)" identifier * (cast_expression "(double)(uVar24 & 0xff)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(uVar24 & 0xff)" ( (binary_expression "uVar24 & 0xff" identifier & number_literal) ))))) ;) (expression_statement "uVar24 = ReadBlobByte(image);" (assignment_expression "uVar24 = ReadBlobByte(image)" identifier = (call_expression "ReadBlobByte(image)" identifier (argument_list "(image)" ( identifier )))) ;) (expression_statement "*(double *)((int)&image->colormap->blue + iVar25) = dVar1 * (double)(uVar24 & 0xff);" (assignment_expression "*(double *)((int)&image->colormap->blue + iVar25) = dVar1 * (double)(uVar24 & 0xff)" (pointer_expression "*(double *)((int)&image->colormap->blue + iVar25)" * (cast_expression "(double *)((int)&image->colormap->blue + iVar25)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&image->colormap->blue + iVar25)" ( (binary_expression "(int)&image->colormap->blue + iVar25" (cast_expression "(int)&image->colormap->blue" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&image->colormap->blue" & (field_expression "image->colormap->blue" (field_expression "image->colormap" identifier -> field_identifier) -> field_identifier))) + identifier) )))) = (binary_expression "dVar1 * (double)(uVar24 & 0xff)" identifier * (cast_expression "(double)(uVar24 & 0xff)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(uVar24 & 0xff)" ( (binary_expression "uVar24 & 0xff" identifier & number_literal) ))))) ;) }) while (parenthesized_expression "(0xff - (uint)uVar14 != iVar20)" ( (binary_expression "0xff - (uint)uVar14 != iVar20" (binary_expression "0xff - (uint)uVar14" number_literal - (cast_expression "(uint)uVar14" ( (type_descriptor "uint" type_identifier) ) identifier)) != identifier) )) ;) })) }))) (if_statement "if ((short)uVar12 < 0) goto LAB_00262c40;" if (parenthesized_expression "((short)uVar12 < 0)" ( (binary_expression "(short)uVar12 < 0" (cast_expression "(short)uVar12" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) < number_literal) )) (goto_statement "goto LAB_00262c40;" goto statement_identifier ;)) }) (else_clause "else {\n          if ((short)uVar12 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(image);\n          }\n          image->storage_class = DirectClass;\n          if (uVar18 == 0x10) goto LAB_002622bf;\n        }" else (compound_statement "{\n          if ((short)uVar12 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(image);\n          }\n          image->storage_class = DirectClass;\n          if (uVar18 == 0x10) goto LAB_002622bf;\n        }" { (if_statement "if ((short)uVar12 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(image);\n          }" if (parenthesized_expression "((short)uVar12 < 0)" ( (binary_expression "(short)uVar12 < 0" (cast_expression "(short)uVar12" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) < number_literal) )) (compound_statement "{\nLAB_00262c40:\n            ReadBlobMSBShort(image);\n          }" { (labeled_statement "LAB_00262c40:\n            ReadBlobMSBShort(image);" statement_identifier : (expression_statement "ReadBlobMSBShort(image);" (call_expression "ReadBlobMSBShort(image)" identifier (argument_list "(image)" ( identifier ))) ;)) })) (expression_statement "image->storage_class = DirectClass;" (assignment_expression "image->storage_class = DirectClass" (field_expression "image->storage_class" identifier -> field_identifier) = identifier) ;) (if_statement "if (uVar18 == 0x10) goto LAB_002622bf;" if (parenthesized_expression "(uVar18 == 0x10)" ( (binary_expression "uVar18 == 0x10" identifier == number_literal) )) (goto_statement "goto LAB_002622bf;" goto statement_identifier ;)) }))) (expression_statement "image->storage_class = PseudoClass;" (assignment_expression "image->storage_class = PseudoClass" (field_expression "image->storage_class" identifier -> field_identifier) = identifier) ;) (expression_statement "image->depth = 8;" (assignment_expression "image->depth = 8" (field_expression "image->depth" identifier -> field_identifier) = number_literal) ;) }))) (labeled_statement "LAB_002622bf:\n      local_a0 = &transpix;" statement_identifier : (expression_statement "local_a0 = &transpix;" (assignment_expression "local_a0 = &transpix" identifier = (pointer_expression "&transpix" & identifier)) ;)) (if_statement "if (image_info->ping != MagickFalse) {\n        CloseBlob(image);\n        pIVar22 = image;\n        goto LAB_002621b8;\n      }" if (parenthesized_expression "(image_info->ping != MagickFalse)" ( (binary_expression "image_info->ping != MagickFalse" (field_expression "image_info->ping" identifier -> field_identifier) != identifier) )) (compound_statement "{\n        CloseBlob(image);\n        pIVar22 = image;\n        goto LAB_002621b8;\n      }" { (expression_statement "CloseBlob(image);" (call_expression "CloseBlob(image)" identifier (argument_list "(image)" ( identifier ))) ;) (expression_statement "pIVar22 = image;" (assignment_expression "pIVar22 = image" identifier = identifier) ;) (goto_statement "goto LAB_002621b8;" goto statement_identifier ;) })) (expression_statement "local_9c = SetImageExtent(image,image->columns,image->rows,exception);" (assignment_expression "local_9c = SetImageExtent(image,image->columns,image->rows,exception)" identifier = (call_expression "SetImageExtent(image,image->columns,image->rows,exception)" identifier (argument_list "(image,image->columns,image->rows,exception)" ( identifier , (field_expression "image->columns" identifier -> field_identifier) , (field_expression "image->rows" identifier -> field_identifier) , identifier )))) ;) (if_statement "if (local_9c == MagickFalse) goto LAB_00262f23;" if (parenthesized_expression "(local_9c == MagickFalse)" ( (binary_expression "local_9c == MagickFalse" identifier == identifier) )) (goto_statement "goto LAB_00262f23;" goto statement_identifier ;)) (expression_statement "uVar24 = image->columns * 2;" (assignment_expression "uVar24 = image->columns * 2" identifier = (binary_expression "image->columns * 2" (field_expression "image->columns" identifier -> field_identifier) * number_literal)) ;) (if_statement "if (uVar24 < uVar17) {\n        uVar24 = uVar17;\n      }" if (parenthesized_expression "(uVar24 < uVar17)" ( (binary_expression "uVar24 < uVar17" identifier < identifier) )) (compound_statement "{\n        uVar24 = uVar17;\n      }" { (expression_statement "uVar24 = uVar17;" (assignment_expression "uVar24 = uVar17" identifier = identifier) ;) })) (expression_statement "__s = (ushort *)AcquireQuantumMemory(uVar24,1);" (assignment_expression "__s = (ushort *)AcquireQuantumMemory(uVar24,1)" identifier = (cast_expression "(ushort *)AcquireQuantumMemory(uVar24,1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(uVar24,1)" identifier (argument_list "(uVar24,1)" ( identifier , number_literal ))))) ;) (if_statement "if (__s == (ushort *)0x0) {\n        pcVar44 = "MemoryAllocationFailed";\n        severity = ErrorException;\n        sVar43 = 0x19c;\n        goto LAB_0026218b;\n      }" if (parenthesized_expression "(__s == (ushort *)0x0)" ( (binary_expression "__s == (ushort *)0x0" identifier == (cast_expression "(ushort *)0x0" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar44 = "MemoryAllocationFailed";\n        severity = ErrorException;\n        sVar43 = 0x19c;\n        goto LAB_0026218b;\n      }" { (expression_statement "pcVar44 = "MemoryAllocationFailed";" (assignment_expression "pcVar44 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "severity = ErrorException;" (assignment_expression "severity = ErrorException" identifier = identifier) ;) (expression_statement "sVar43 = 0x19c;" (assignment_expression "sVar43 = 0x19c" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "memset(__s,0,uVar24);" (call_expression "memset(__s,0,uVar24)" identifier (argument_list "(__s,0,uVar24)" ( identifier , number_literal , identifier ))) ;) (expression_statement "local_b0 = (void *)0x0;" (assignment_expression "local_b0 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (uVar19 == 0) {\n        uVar24 = image->columns * 2;\n        if (uVar24 < uVar17) {\n          uVar24 = uVar17;\n        }\n        local_b0 = AcquireQuantumMemory(uVar24,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar44 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar43 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar24 = image->columns * 2;\n        if (uVar24 < uVar17) {\n          uVar24 = uVar17;\n        }\n        memset(local_b0,0,uVar24);\n      }" if (parenthesized_expression "(uVar19 == 0)" ( (binary_expression "uVar19 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar24 = image->columns * 2;\n        if (uVar24 < uVar17) {\n          uVar24 = uVar17;\n        }\n        local_b0 = AcquireQuantumMemory(uVar24,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar44 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar43 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar24 = image->columns * 2;\n        if (uVar24 < uVar17) {\n          uVar24 = uVar17;\n        }\n        memset(local_b0,0,uVar24);\n      }" { (expression_statement "uVar24 = image->columns * 2;" (assignment_expression "uVar24 = image->columns * 2" identifier = (binary_expression "image->columns * 2" (field_expression "image->columns" identifier -> field_identifier) * number_literal)) ;) (if_statement "if (uVar24 < uVar17) {\n          uVar24 = uVar17;\n        }" if (parenthesized_expression "(uVar24 < uVar17)" ( (binary_expression "uVar24 < uVar17" identifier < identifier) )) (compound_statement "{\n          uVar24 = uVar17;\n        }" { (expression_statement "uVar24 = uVar17;" (assignment_expression "uVar24 = uVar17" identifier = identifier) ;) })) (expression_statement "local_b0 = AcquireQuantumMemory(uVar24,1);" (assignment_expression "local_b0 = AcquireQuantumMemory(uVar24,1)" identifier = (call_expression "AcquireQuantumMemory(uVar24,1)" identifier (argument_list "(uVar24,1)" ( identifier , number_literal )))) ;) (if_statement "if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar44 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar43 = 0x1a6;\n          goto LAB_0026218b;\n        }" if (parenthesized_expression "(local_b0 == (void *)0x0)" ( (binary_expression "local_b0 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(__s);\n          pcVar44 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar43 = 0x1a6;\n          goto LAB_0026218b;\n        }" { (expression_statement "RelinquishMagickMemory(__s);" (call_expression "RelinquishMagickMemory(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (expression_statement "pcVar44 = "MemoryAllocationFailed";" (assignment_expression "pcVar44 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "severity = ErrorException;" (assignment_expression "severity = ErrorException" identifier = identifier) ;) (expression_statement "sVar43 = 0x1a6;" (assignment_expression "sVar43 = 0x1a6" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "uVar24 = image->columns * 2;" (assignment_expression "uVar24 = image->columns * 2" identifier = (binary_expression "image->columns * 2" (field_expression "image->columns" identifier -> field_identifier) * number_literal)) ;) (if_statement "if (uVar24 < uVar17) {\n          uVar24 = uVar17;\n        }" if (parenthesized_expression "(uVar24 < uVar17)" ( (binary_expression "uVar24 < uVar17" identifier < identifier) )) (compound_statement "{\n          uVar24 = uVar17;\n        }" { (expression_statement "uVar24 = uVar17;" (assignment_expression "uVar24 = uVar17" identifier = identifier) ;) })) (expression_statement "memset(local_b0,0,uVar24);" (call_expression "memset(local_b0,0,uVar24)" identifier (argument_list "(local_b0,0,uVar24)" ( identifier , number_literal , identifier ))) ;) })) (expression_statement "iVar20 = (1 << ((byte)uVar18 & 0x1f)) + -1;" (assignment_expression "iVar20 = (1 << ((byte)uVar18 & 0x1f)) + -1" identifier = (binary_expression "(1 << ((byte)uVar18 & 0x1f)) + -1" (parenthesized_expression "(1 << ((byte)uVar18 & 0x1f))" ( (binary_expression "1 << ((byte)uVar18 & 0x1f)" number_literal << (parenthesized_expression "((byte)uVar18 & 0x1f)" ( (binary_expression "(byte)uVar18 & 0x1f" (cast_expression "(byte)uVar18" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )) + number_literal)) ;) (if_statement "if (0 < (int)image->rows) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar12 < 0) {\n            if (uVar19 == 1) {\n              image->compression = RLECompression;\n              if (uVar17 != 0) {\n                iVar25 = 0;\n                do {\n                  sVar27 = ReadBlobByte(image);\n                  if ((int)sVar27 < 0) break;\n                  __n = uVar17 - iVar25;\n                  if ((int)sVar27 < (int)(uVar17 - iVar25)) {\n                    __n = sVar27;\n                  }\n                  iVar26 = ReadBlobByte(image);\n                  __s_00 = (byte *)((int)__s + iVar25);\n                  iVar25 = iVar25 + __n;\n                  memset(__s_00,iVar26,__n);\n                } while (iVar25 < (int)uVar17);\n              }\n            }\n            else if (uVar19 == 0) {\n              image->compression = FaxCompression;\n              if (uVar17 != 0) {\n                local_f4 = 0;\n                puVar33 = __s;\n                do {\n                  uVar24 = ReadBlobByte(image);\n                  if ((int)uVar24 < 0) break;\n                  uVar37 = uVar17 - local_f4;\n                  if ((int)uVar37 < 8) {\n                    if (uVar37 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar37 = 8;\nLAB_002629c0:\n                    uVar32 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                    else {\n                      uVar32 = 0;\n                      do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar33 = puVar33 + 4;\n                } while (local_f4 != (uVar17 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar17);\n            }\n          }\n          else {\n            image->compression = NoCompression;\n            uVar24 = ReadBlob(image,uVar17,__s);\n            if (uVar24 != uVar17) break;\n          }\n          pQVar21 = QueueAuthenticPixels(image,0,local_c8,image->columns,1,exception);\n          fVar11 = DAT_002df8a8;\n          if (pQVar21 == (Quantum *)0x0) break;\n          uVar24 = image->columns;\n          if (uVar18 != 0x10) {\n            if (0 < (int)uVar24) {\n              if (uVar17 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar19 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar44 = "CorruptImage";\n                severity = CorruptImageError;\n                sVar43 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar31 = 0;\n              pPVar3 = image->channel_map;\n              PVar4 = pPVar3[5].traits;\n              pPVar34 = image->colormap;\n              sVar43 = image->number_channels;\n              iVar25 = pPVar3->offset;\n              iVar26 = pPVar3[1].offset;\n              iVar5 = pPVar3[2].offset;\n              PVar6 = pPVar3[3].traits;\n              PVar7 = pPVar3[4].traits;\n              iVar29 = 8 - uVar18;\n              puVar33 = __s;\n              while( true ) {\n                uVar37 = iVar20 - (((uint)(byte)*puVar33 & iVar20 << ((byte)iVar29 & 0x1f)) >>\n                                  ((byte)iVar29 & 0x1f));\n                if (PVar4 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[5].offset] = (double)uVar37;\n                }\n                pQVar21[iVar25] = pPVar34[uVar37].red;\n                pQVar21[iVar26] = pPVar34[uVar37].green;\n                pQVar21[iVar5] = pPVar34[uVar37].blue;\n                if (PVar6 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[3].offset] = pPVar34[uVar37].black;\n                }\n                if (PVar7 != UndefinedPixelTrait) {\n                  fVar10 = fVar11;\n                  if (pPVar34[uVar37].alpha_trait != UndefinedPixelTrait) {\n                    fVar10 = (float)pPVar34[uVar37].alpha;\n                  }\n                  pQVar21[pPVar3[4].offset] = (double)fVar10;\n                }\n                if (iVar29 == 0) {\n                  puVar33 = (ushort *)((int)puVar33 + 1);\n                  iVar29 = 8 - uVar18;\n                }\n                else {\n                  iVar29 = iVar29 - uVar18;\n                }\n                if (uVar24 == iVar31 + 1U) break;\n                iVar31 = iVar31 + 1;\n                pQVar21 = pQVar21 + sVar43;\n                if (uVar17 <= (uint)((int)puVar33 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            MVar15 = SyncAuthenticPixels(image,exception);\n            if (MVar15 != MagickFalse) goto LAB_00262579;\n            break;\n          }\n          if (uVar17 * 2 < uVar24) {\n            RelinquishMagickMemory(__s);\n            if (uVar19 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar44 = "CorruptImage";\n            severity = CorruptImageError;\n            sVar43 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar24 == 0) {\nLAB_00262579:\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }\n          else {\n            pPVar3 = image->channel_map;\n            sVar43 = image->number_channels;\n            iVar25 = pPVar3[1].offset;\n            iVar26 = pPVar3->offset;\n            iVar5 = pPVar3[2].offset;\n            if (pPVar3[4].traits != UndefinedPixelTrait) {\n              iVar29 = pPVar3[4].offset;\n              puVar33 = __s;\n              do {\n                fVar10 = DAT_00306a38;\n                puVar30 = puVar33 + 1;\n                uVar14 = *puVar33 << 8;\n                uVar9 = *puVar33 >> 8;\n                pQVar21[iVar26] = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n                pQVar21[iVar25] =\n                     (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n                pQVar21[iVar5] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n                pQVar21[iVar29] = (double)fVar11;\n                pQVar21 = pQVar21 + sVar43;\n                puVar33 = puVar30;\n              } while (puVar30 != __s + uVar24);\n              goto LAB_00262579;\n            }\n            pdVar23 = pQVar21 + iVar26;\n            puVar33 = __s;\n            do {\n              fVar10 = DAT_00306a38;\n              puVar30 = puVar33 + 1;\n              uVar14 = *puVar33 << 8;\n              uVar9 = *puVar33 >> 8;\n              *pdVar23 = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n              pdVar23[iVar25 - iVar26] =\n                   (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n              pdVar23[iVar5 - iVar26] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n              pdVar23 = pdVar23 + sVar43;\n              puVar33 = puVar30;\n            } while (__s + uVar24 != puVar30);\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }\n          if (p_Var8 == (_Image *)0x0) {\n            local_9c = SetImageProgress(image,"Load/Image",CONCAT44(local_a8,local_ac),\n                                        (ulonglong)uVar24);\n            if (local_9c == MagickFalse) break;\n            uVar24 = image->rows;\n          }\n          local_c8 = local_c8 + 1;\n          bVar39 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar39;\n        } while (local_c8 < (int)uVar24);\n      }" if (parenthesized_expression "(0 < (int)image->rows)" ( (binary_expression "0 < (int)image->rows" number_literal < (cast_expression "(int)image->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "image->rows" identifier -> field_identifier))) )) (compound_statement "{\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar12 < 0) {\n            if (uVar19 == 1) {\n              image->compression = RLECompression;\n              if (uVar17 != 0) {\n                iVar25 = 0;\n                do {\n                  sVar27 = ReadBlobByte(image);\n                  if ((int)sVar27 < 0) break;\n                  __n = uVar17 - iVar25;\n                  if ((int)sVar27 < (int)(uVar17 - iVar25)) {\n                    __n = sVar27;\n                  }\n                  iVar26 = ReadBlobByte(image);\n                  __s_00 = (byte *)((int)__s + iVar25);\n                  iVar25 = iVar25 + __n;\n                  memset(__s_00,iVar26,__n);\n                } while (iVar25 < (int)uVar17);\n              }\n            }\n            else if (uVar19 == 0) {\n              image->compression = FaxCompression;\n              if (uVar17 != 0) {\n                local_f4 = 0;\n                puVar33 = __s;\n                do {\n                  uVar24 = ReadBlobByte(image);\n                  if ((int)uVar24 < 0) break;\n                  uVar37 = uVar17 - local_f4;\n                  if ((int)uVar37 < 8) {\n                    if (uVar37 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar37 = 8;\nLAB_002629c0:\n                    uVar32 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                    else {\n                      uVar32 = 0;\n                      do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar33 = puVar33 + 4;\n                } while (local_f4 != (uVar17 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar17);\n            }\n          }\n          else {\n            image->compression = NoCompression;\n            uVar24 = ReadBlob(image,uVar17,__s);\n            if (uVar24 != uVar17) break;\n          }\n          pQVar21 = QueueAuthenticPixels(image,0,local_c8,image->columns,1,exception);\n          fVar11 = DAT_002df8a8;\n          if (pQVar21 == (Quantum *)0x0) break;\n          uVar24 = image->columns;\n          if (uVar18 != 0x10) {\n            if (0 < (int)uVar24) {\n              if (uVar17 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar19 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar44 = "CorruptImage";\n                severity = CorruptImageError;\n                sVar43 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar31 = 0;\n              pPVar3 = image->channel_map;\n              PVar4 = pPVar3[5].traits;\n              pPVar34 = image->colormap;\n              sVar43 = image->number_channels;\n              iVar25 = pPVar3->offset;\n              iVar26 = pPVar3[1].offset;\n              iVar5 = pPVar3[2].offset;\n              PVar6 = pPVar3[3].traits;\n              PVar7 = pPVar3[4].traits;\n              iVar29 = 8 - uVar18;\n              puVar33 = __s;\n              while( true ) {\n                uVar37 = iVar20 - (((uint)(byte)*puVar33 & iVar20 << ((byte)iVar29 & 0x1f)) >>\n                                  ((byte)iVar29 & 0x1f));\n                if (PVar4 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[5].offset] = (double)uVar37;\n                }\n                pQVar21[iVar25] = pPVar34[uVar37].red;\n                pQVar21[iVar26] = pPVar34[uVar37].green;\n                pQVar21[iVar5] = pPVar34[uVar37].blue;\n                if (PVar6 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[3].offset] = pPVar34[uVar37].black;\n                }\n                if (PVar7 != UndefinedPixelTrait) {\n                  fVar10 = fVar11;\n                  if (pPVar34[uVar37].alpha_trait != UndefinedPixelTrait) {\n                    fVar10 = (float)pPVar34[uVar37].alpha;\n                  }\n                  pQVar21[pPVar3[4].offset] = (double)fVar10;\n                }\n                if (iVar29 == 0) {\n                  puVar33 = (ushort *)((int)puVar33 + 1);\n                  iVar29 = 8 - uVar18;\n                }\n                else {\n                  iVar29 = iVar29 - uVar18;\n                }\n                if (uVar24 == iVar31 + 1U) break;\n                iVar31 = iVar31 + 1;\n                pQVar21 = pQVar21 + sVar43;\n                if (uVar17 <= (uint)((int)puVar33 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            MVar15 = SyncAuthenticPixels(image,exception);\n            if (MVar15 != MagickFalse) goto LAB_00262579;\n            break;\n          }\n          if (uVar17 * 2 < uVar24) {\n            RelinquishMagickMemory(__s);\n            if (uVar19 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar44 = "CorruptImage";\n            severity = CorruptImageError;\n            sVar43 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar24 == 0) {\nLAB_00262579:\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }\n          else {\n            pPVar3 = image->channel_map;\n            sVar43 = image->number_channels;\n            iVar25 = pPVar3[1].offset;\n            iVar26 = pPVar3->offset;\n            iVar5 = pPVar3[2].offset;\n            if (pPVar3[4].traits != UndefinedPixelTrait) {\n              iVar29 = pPVar3[4].offset;\n              puVar33 = __s;\n              do {\n                fVar10 = DAT_00306a38;\n                puVar30 = puVar33 + 1;\n                uVar14 = *puVar33 << 8;\n                uVar9 = *puVar33 >> 8;\n                pQVar21[iVar26] = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n                pQVar21[iVar25] =\n                     (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n                pQVar21[iVar5] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n                pQVar21[iVar29] = (double)fVar11;\n                pQVar21 = pQVar21 + sVar43;\n                puVar33 = puVar30;\n              } while (puVar30 != __s + uVar24);\n              goto LAB_00262579;\n            }\n            pdVar23 = pQVar21 + iVar26;\n            puVar33 = __s;\n            do {\n              fVar10 = DAT_00306a38;\n              puVar30 = puVar33 + 1;\n              uVar14 = *puVar33 << 8;\n              uVar9 = *puVar33 >> 8;\n              *pdVar23 = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n              pdVar23[iVar25 - iVar26] =\n                   (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n              pdVar23[iVar5 - iVar26] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n              pdVar23 = pdVar23 + sVar43;\n              puVar33 = puVar30;\n            } while (__s + uVar24 != puVar30);\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }\n          if (p_Var8 == (_Image *)0x0) {\n            local_9c = SetImageProgress(image,"Load/Image",CONCAT44(local_a8,local_ac),\n                                        (ulonglong)uVar24);\n            if (local_9c == MagickFalse) break;\n            uVar24 = image->rows;\n          }\n          local_c8 = local_c8 + 1;\n          bVar39 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar39;\n        } while (local_c8 < (int)uVar24);\n      }" { (expression_statement "local_c8 = 0;" (assignment_expression "local_c8 = 0" identifier = number_literal) ;) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" identifier = number_literal) ;) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (do_statement "do {\n          if ((short)uVar12 < 0) {\n            if (uVar19 == 1) {\n              image->compression = RLECompression;\n              if (uVar17 != 0) {\n                iVar25 = 0;\n                do {\n                  sVar27 = ReadBlobByte(image);\n                  if ((int)sVar27 < 0) break;\n                  __n = uVar17 - iVar25;\n                  if ((int)sVar27 < (int)(uVar17 - iVar25)) {\n                    __n = sVar27;\n                  }\n                  iVar26 = ReadBlobByte(image);\n                  __s_00 = (byte *)((int)__s + iVar25);\n                  iVar25 = iVar25 + __n;\n                  memset(__s_00,iVar26,__n);\n                } while (iVar25 < (int)uVar17);\n              }\n            }\n            else if (uVar19 == 0) {\n              image->compression = FaxCompression;\n              if (uVar17 != 0) {\n                local_f4 = 0;\n                puVar33 = __s;\n                do {\n                  uVar24 = ReadBlobByte(image);\n                  if ((int)uVar24 < 0) break;\n                  uVar37 = uVar17 - local_f4;\n                  if ((int)uVar37 < 8) {\n                    if (uVar37 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar37 = 8;\nLAB_002629c0:\n                    uVar32 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                    else {\n                      uVar32 = 0;\n                      do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar33 = puVar33 + 4;\n                } while (local_f4 != (uVar17 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar17);\n            }\n          }\n          else {\n            image->compression = NoCompression;\n            uVar24 = ReadBlob(image,uVar17,__s);\n            if (uVar24 != uVar17) break;\n          }\n          pQVar21 = QueueAuthenticPixels(image,0,local_c8,image->columns,1,exception);\n          fVar11 = DAT_002df8a8;\n          if (pQVar21 == (Quantum *)0x0) break;\n          uVar24 = image->columns;\n          if (uVar18 != 0x10) {\n            if (0 < (int)uVar24) {\n              if (uVar17 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar19 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar44 = "CorruptImage";\n                severity = CorruptImageError;\n                sVar43 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar31 = 0;\n              pPVar3 = image->channel_map;\n              PVar4 = pPVar3[5].traits;\n              pPVar34 = image->colormap;\n              sVar43 = image->number_channels;\n              iVar25 = pPVar3->offset;\n              iVar26 = pPVar3[1].offset;\n              iVar5 = pPVar3[2].offset;\n              PVar6 = pPVar3[3].traits;\n              PVar7 = pPVar3[4].traits;\n              iVar29 = 8 - uVar18;\n              puVar33 = __s;\n              while( true ) {\n                uVar37 = iVar20 - (((uint)(byte)*puVar33 & iVar20 << ((byte)iVar29 & 0x1f)) >>\n                                  ((byte)iVar29 & 0x1f));\n                if (PVar4 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[5].offset] = (double)uVar37;\n                }\n                pQVar21[iVar25] = pPVar34[uVar37].red;\n                pQVar21[iVar26] = pPVar34[uVar37].green;\n                pQVar21[iVar5] = pPVar34[uVar37].blue;\n                if (PVar6 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[3].offset] = pPVar34[uVar37].black;\n                }\n                if (PVar7 != UndefinedPixelTrait) {\n                  fVar10 = fVar11;\n                  if (pPVar34[uVar37].alpha_trait != UndefinedPixelTrait) {\n                    fVar10 = (float)pPVar34[uVar37].alpha;\n                  }\n                  pQVar21[pPVar3[4].offset] = (double)fVar10;\n                }\n                if (iVar29 == 0) {\n                  puVar33 = (ushort *)((int)puVar33 + 1);\n                  iVar29 = 8 - uVar18;\n                }\n                else {\n                  iVar29 = iVar29 - uVar18;\n                }\n                if (uVar24 == iVar31 + 1U) break;\n                iVar31 = iVar31 + 1;\n                pQVar21 = pQVar21 + sVar43;\n                if (uVar17 <= (uint)((int)puVar33 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            MVar15 = SyncAuthenticPixels(image,exception);\n            if (MVar15 != MagickFalse) goto LAB_00262579;\n            break;\n          }\n          if (uVar17 * 2 < uVar24) {\n            RelinquishMagickMemory(__s);\n            if (uVar19 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar44 = "CorruptImage";\n            severity = CorruptImageError;\n            sVar43 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar24 == 0) {\nLAB_00262579:\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }\n          else {\n            pPVar3 = image->channel_map;\n            sVar43 = image->number_channels;\n            iVar25 = pPVar3[1].offset;\n            iVar26 = pPVar3->offset;\n            iVar5 = pPVar3[2].offset;\n            if (pPVar3[4].traits != UndefinedPixelTrait) {\n              iVar29 = pPVar3[4].offset;\n              puVar33 = __s;\n              do {\n                fVar10 = DAT_00306a38;\n                puVar30 = puVar33 + 1;\n                uVar14 = *puVar33 << 8;\n                uVar9 = *puVar33 >> 8;\n                pQVar21[iVar26] = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n                pQVar21[iVar25] =\n                     (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n                pQVar21[iVar5] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n                pQVar21[iVar29] = (double)fVar11;\n                pQVar21 = pQVar21 + sVar43;\n                puVar33 = puVar30;\n              } while (puVar30 != __s + uVar24);\n              goto LAB_00262579;\n            }\n            pdVar23 = pQVar21 + iVar26;\n            puVar33 = __s;\n            do {\n              fVar10 = DAT_00306a38;\n              puVar30 = puVar33 + 1;\n              uVar14 = *puVar33 << 8;\n              uVar9 = *puVar33 >> 8;\n              *pdVar23 = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n              pdVar23[iVar25 - iVar26] =\n                   (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n              pdVar23[iVar5 - iVar26] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n              pdVar23 = pdVar23 + sVar43;\n              puVar33 = puVar30;\n            } while (__s + uVar24 != puVar30);\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }\n          if (p_Var8 == (_Image *)0x0) {\n            local_9c = SetImageProgress(image,"Load/Image",CONCAT44(local_a8,local_ac),\n                                        (ulonglong)uVar24);\n            if (local_9c == MagickFalse) break;\n            uVar24 = image->rows;\n          }\n          local_c8 = local_c8 + 1;\n          bVar39 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar39;\n        } while (local_c8 < (int)uVar24);" do (compound_statement "{\n          if ((short)uVar12 < 0) {\n            if (uVar19 == 1) {\n              image->compression = RLECompression;\n              if (uVar17 != 0) {\n                iVar25 = 0;\n                do {\n                  sVar27 = ReadBlobByte(image);\n                  if ((int)sVar27 < 0) break;\n                  __n = uVar17 - iVar25;\n                  if ((int)sVar27 < (int)(uVar17 - iVar25)) {\n                    __n = sVar27;\n                  }\n                  iVar26 = ReadBlobByte(image);\n                  __s_00 = (byte *)((int)__s + iVar25);\n                  iVar25 = iVar25 + __n;\n                  memset(__s_00,iVar26,__n);\n                } while (iVar25 < (int)uVar17);\n              }\n            }\n            else if (uVar19 == 0) {\n              image->compression = FaxCompression;\n              if (uVar17 != 0) {\n                local_f4 = 0;\n                puVar33 = __s;\n                do {\n                  uVar24 = ReadBlobByte(image);\n                  if ((int)uVar24 < 0) break;\n                  uVar37 = uVar17 - local_f4;\n                  if ((int)uVar37 < 8) {\n                    if (uVar37 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar37 = 8;\nLAB_002629c0:\n                    uVar32 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                    else {\n                      uVar32 = 0;\n                      do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar33 = puVar33 + 4;\n                } while (local_f4 != (uVar17 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar17);\n            }\n          }\n          else {\n            image->compression = NoCompression;\n            uVar24 = ReadBlob(image,uVar17,__s);\n            if (uVar24 != uVar17) break;\n          }\n          pQVar21 = QueueAuthenticPixels(image,0,local_c8,image->columns,1,exception);\n          fVar11 = DAT_002df8a8;\n          if (pQVar21 == (Quantum *)0x0) break;\n          uVar24 = image->columns;\n          if (uVar18 != 0x10) {\n            if (0 < (int)uVar24) {\n              if (uVar17 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar19 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar44 = "CorruptImage";\n                severity = CorruptImageError;\n                sVar43 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar31 = 0;\n              pPVar3 = image->channel_map;\n              PVar4 = pPVar3[5].traits;\n              pPVar34 = image->colormap;\n              sVar43 = image->number_channels;\n              iVar25 = pPVar3->offset;\n              iVar26 = pPVar3[1].offset;\n              iVar5 = pPVar3[2].offset;\n              PVar6 = pPVar3[3].traits;\n              PVar7 = pPVar3[4].traits;\n              iVar29 = 8 - uVar18;\n              puVar33 = __s;\n              while( true ) {\n                uVar37 = iVar20 - (((uint)(byte)*puVar33 & iVar20 << ((byte)iVar29 & 0x1f)) >>\n                                  ((byte)iVar29 & 0x1f));\n                if (PVar4 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[5].offset] = (double)uVar37;\n                }\n                pQVar21[iVar25] = pPVar34[uVar37].red;\n                pQVar21[iVar26] = pPVar34[uVar37].green;\n                pQVar21[iVar5] = pPVar34[uVar37].blue;\n                if (PVar6 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[3].offset] = pPVar34[uVar37].black;\n                }\n                if (PVar7 != UndefinedPixelTrait) {\n                  fVar10 = fVar11;\n                  if (pPVar34[uVar37].alpha_trait != UndefinedPixelTrait) {\n                    fVar10 = (float)pPVar34[uVar37].alpha;\n                  }\n                  pQVar21[pPVar3[4].offset] = (double)fVar10;\n                }\n                if (iVar29 == 0) {\n                  puVar33 = (ushort *)((int)puVar33 + 1);\n                  iVar29 = 8 - uVar18;\n                }\n                else {\n                  iVar29 = iVar29 - uVar18;\n                }\n                if (uVar24 == iVar31 + 1U) break;\n                iVar31 = iVar31 + 1;\n                pQVar21 = pQVar21 + sVar43;\n                if (uVar17 <= (uint)((int)puVar33 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            MVar15 = SyncAuthenticPixels(image,exception);\n            if (MVar15 != MagickFalse) goto LAB_00262579;\n            break;\n          }\n          if (uVar17 * 2 < uVar24) {\n            RelinquishMagickMemory(__s);\n            if (uVar19 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar44 = "CorruptImage";\n            severity = CorruptImageError;\n            sVar43 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar24 == 0) {\nLAB_00262579:\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }\n          else {\n            pPVar3 = image->channel_map;\n            sVar43 = image->number_channels;\n            iVar25 = pPVar3[1].offset;\n            iVar26 = pPVar3->offset;\n            iVar5 = pPVar3[2].offset;\n            if (pPVar3[4].traits != UndefinedPixelTrait) {\n              iVar29 = pPVar3[4].offset;\n              puVar33 = __s;\n              do {\n                fVar10 = DAT_00306a38;\n                puVar30 = puVar33 + 1;\n                uVar14 = *puVar33 << 8;\n                uVar9 = *puVar33 >> 8;\n                pQVar21[iVar26] = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n                pQVar21[iVar25] =\n                     (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n                pQVar21[iVar5] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n                pQVar21[iVar29] = (double)fVar11;\n                pQVar21 = pQVar21 + sVar43;\n                puVar33 = puVar30;\n              } while (puVar30 != __s + uVar24);\n              goto LAB_00262579;\n            }\n            pdVar23 = pQVar21 + iVar26;\n            puVar33 = __s;\n            do {\n              fVar10 = DAT_00306a38;\n              puVar30 = puVar33 + 1;\n              uVar14 = *puVar33 << 8;\n              uVar9 = *puVar33 >> 8;\n              *pdVar23 = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n              pdVar23[iVar25 - iVar26] =\n                   (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n              pdVar23[iVar5 - iVar26] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n              pdVar23 = pdVar23 + sVar43;\n              puVar33 = puVar30;\n            } while (__s + uVar24 != puVar30);\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }\n          if (p_Var8 == (_Image *)0x0) {\n            local_9c = SetImageProgress(image,"Load/Image",CONCAT44(local_a8,local_ac),\n                                        (ulonglong)uVar24);\n            if (local_9c == MagickFalse) break;\n            uVar24 = image->rows;\n          }\n          local_c8 = local_c8 + 1;\n          bVar39 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar39;\n        }" { (if_statement "if ((short)uVar12 < 0) {\n            if (uVar19 == 1) {\n              image->compression = RLECompression;\n              if (uVar17 != 0) {\n                iVar25 = 0;\n                do {\n                  sVar27 = ReadBlobByte(image);\n                  if ((int)sVar27 < 0) break;\n                  __n = uVar17 - iVar25;\n                  if ((int)sVar27 < (int)(uVar17 - iVar25)) {\n                    __n = sVar27;\n                  }\n                  iVar26 = ReadBlobByte(image);\n                  __s_00 = (byte *)((int)__s + iVar25);\n                  iVar25 = iVar25 + __n;\n                  memset(__s_00,iVar26,__n);\n                } while (iVar25 < (int)uVar17);\n              }\n            }\n            else if (uVar19 == 0) {\n              image->compression = FaxCompression;\n              if (uVar17 != 0) {\n                local_f4 = 0;\n                puVar33 = __s;\n                do {\n                  uVar24 = ReadBlobByte(image);\n                  if ((int)uVar24 < 0) break;\n                  uVar37 = uVar17 - local_f4;\n                  if ((int)uVar37 < 8) {\n                    if (uVar37 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar37 = 8;\nLAB_002629c0:\n                    uVar32 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                    else {\n                      uVar32 = 0;\n                      do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar33 = puVar33 + 4;\n                } while (local_f4 != (uVar17 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar17);\n            }\n          }\n          else {\n            image->compression = NoCompression;\n            uVar24 = ReadBlob(image,uVar17,__s);\n            if (uVar24 != uVar17) break;\n          }" if (parenthesized_expression "((short)uVar12 < 0)" ( (binary_expression "(short)uVar12 < 0" (cast_expression "(short)uVar12" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) < number_literal) )) (compound_statement "{\n            if (uVar19 == 1) {\n              image->compression = RLECompression;\n              if (uVar17 != 0) {\n                iVar25 = 0;\n                do {\n                  sVar27 = ReadBlobByte(image);\n                  if ((int)sVar27 < 0) break;\n                  __n = uVar17 - iVar25;\n                  if ((int)sVar27 < (int)(uVar17 - iVar25)) {\n                    __n = sVar27;\n                  }\n                  iVar26 = ReadBlobByte(image);\n                  __s_00 = (byte *)((int)__s + iVar25);\n                  iVar25 = iVar25 + __n;\n                  memset(__s_00,iVar26,__n);\n                } while (iVar25 < (int)uVar17);\n              }\n            }\n            else if (uVar19 == 0) {\n              image->compression = FaxCompression;\n              if (uVar17 != 0) {\n                local_f4 = 0;\n                puVar33 = __s;\n                do {\n                  uVar24 = ReadBlobByte(image);\n                  if ((int)uVar24 < 0) break;\n                  uVar37 = uVar17 - local_f4;\n                  if ((int)uVar37 < 8) {\n                    if (uVar37 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar37 = 8;\nLAB_002629c0:\n                    uVar32 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                    else {\n                      uVar32 = 0;\n                      do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar33 = puVar33 + 4;\n                } while (local_f4 != (uVar17 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar17);\n            }\n          }" { (if_statement "if (uVar19 == 1) {\n              image->compression = RLECompression;\n              if (uVar17 != 0) {\n                iVar25 = 0;\n                do {\n                  sVar27 = ReadBlobByte(image);\n                  if ((int)sVar27 < 0) break;\n                  __n = uVar17 - iVar25;\n                  if ((int)sVar27 < (int)(uVar17 - iVar25)) {\n                    __n = sVar27;\n                  }\n                  iVar26 = ReadBlobByte(image);\n                  __s_00 = (byte *)((int)__s + iVar25);\n                  iVar25 = iVar25 + __n;\n                  memset(__s_00,iVar26,__n);\n                } while (iVar25 < (int)uVar17);\n              }\n            }\n            else if (uVar19 == 0) {\n              image->compression = FaxCompression;\n              if (uVar17 != 0) {\n                local_f4 = 0;\n                puVar33 = __s;\n                do {\n                  uVar24 = ReadBlobByte(image);\n                  if ((int)uVar24 < 0) break;\n                  uVar37 = uVar17 - local_f4;\n                  if ((int)uVar37 < 8) {\n                    if (uVar37 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar37 = 8;\nLAB_002629c0:\n                    uVar32 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                    else {\n                      uVar32 = 0;\n                      do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar33 = puVar33 + 4;\n                } while (local_f4 != (uVar17 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar17);\n            }" if (parenthesized_expression "(uVar19 == 1)" ( (binary_expression "uVar19 == 1" identifier == number_literal) )) (compound_statement "{\n              image->compression = RLECompression;\n              if (uVar17 != 0) {\n                iVar25 = 0;\n                do {\n                  sVar27 = ReadBlobByte(image);\n                  if ((int)sVar27 < 0) break;\n                  __n = uVar17 - iVar25;\n                  if ((int)sVar27 < (int)(uVar17 - iVar25)) {\n                    __n = sVar27;\n                  }\n                  iVar26 = ReadBlobByte(image);\n                  __s_00 = (byte *)((int)__s + iVar25);\n                  iVar25 = iVar25 + __n;\n                  memset(__s_00,iVar26,__n);\n                } while (iVar25 < (int)uVar17);\n              }\n            }" { (expression_statement "image->compression = RLECompression;" (assignment_expression "image->compression = RLECompression" (field_expression "image->compression" identifier -> field_identifier) = identifier) ;) (if_statement "if (uVar17 != 0) {\n                iVar25 = 0;\n                do {\n                  sVar27 = ReadBlobByte(image);\n                  if ((int)sVar27 < 0) break;\n                  __n = uVar17 - iVar25;\n                  if ((int)sVar27 < (int)(uVar17 - iVar25)) {\n                    __n = sVar27;\n                  }\n                  iVar26 = ReadBlobByte(image);\n                  __s_00 = (byte *)((int)__s + iVar25);\n                  iVar25 = iVar25 + __n;\n                  memset(__s_00,iVar26,__n);\n                } while (iVar25 < (int)uVar17);\n              }" if (parenthesized_expression "(uVar17 != 0)" ( (binary_expression "uVar17 != 0" identifier != number_literal) )) (compound_statement "{\n                iVar25 = 0;\n                do {\n                  sVar27 = ReadBlobByte(image);\n                  if ((int)sVar27 < 0) break;\n                  __n = uVar17 - iVar25;\n                  if ((int)sVar27 < (int)(uVar17 - iVar25)) {\n                    __n = sVar27;\n                  }\n                  iVar26 = ReadBlobByte(image);\n                  __s_00 = (byte *)((int)__s + iVar25);\n                  iVar25 = iVar25 + __n;\n                  memset(__s_00,iVar26,__n);\n                } while (iVar25 < (int)uVar17);\n              }" { (expression_statement "iVar25 = 0;" (assignment_expression "iVar25 = 0" identifier = number_literal) ;) (do_statement "do {\n                  sVar27 = ReadBlobByte(image);\n                  if ((int)sVar27 < 0) break;\n                  __n = uVar17 - iVar25;\n                  if ((int)sVar27 < (int)(uVar17 - iVar25)) {\n                    __n = sVar27;\n                  }\n                  iVar26 = ReadBlobByte(image);\n                  __s_00 = (byte *)((int)__s + iVar25);\n                  iVar25 = iVar25 + __n;\n                  memset(__s_00,iVar26,__n);\n                } while (iVar25 < (int)uVar17);" do (compound_statement "{\n                  sVar27 = ReadBlobByte(image);\n                  if ((int)sVar27 < 0) break;\n                  __n = uVar17 - iVar25;\n                  if ((int)sVar27 < (int)(uVar17 - iVar25)) {\n                    __n = sVar27;\n                  }\n                  iVar26 = ReadBlobByte(image);\n                  __s_00 = (byte *)((int)__s + iVar25);\n                  iVar25 = iVar25 + __n;\n                  memset(__s_00,iVar26,__n);\n                }" { (expression_statement "sVar27 = ReadBlobByte(image);" (assignment_expression "sVar27 = ReadBlobByte(image)" identifier = (call_expression "ReadBlobByte(image)" identifier (argument_list "(image)" ( identifier )))) ;) (if_statement "if ((int)sVar27 < 0) break;" if (parenthesized_expression "((int)sVar27 < 0)" ( (binary_expression "(int)sVar27 < 0" (cast_expression "(int)sVar27" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (break_statement "break;" break ;)) (expression_statement "__n = uVar17 - iVar25;" (assignment_expression "__n = uVar17 - iVar25" identifier = (binary_expression "uVar17 - iVar25" identifier - identifier)) ;) (if_statement "if ((int)sVar27 < (int)(uVar17 - iVar25)) {\n                    __n = sVar27;\n                  }" if (parenthesized_expression "((int)sVar27 < (int)(uVar17 - iVar25))" ( (binary_expression "(int)sVar27 < (int)(uVar17 - iVar25)" (cast_expression "(int)sVar27" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)(uVar17 - iVar25)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar17 - iVar25)" ( (binary_expression "uVar17 - iVar25" identifier - identifier) )))) )) (compound_statement "{\n                    __n = sVar27;\n                  }" { (expression_statement "__n = sVar27;" (assignment_expression "__n = sVar27" identifier = identifier) ;) })) (expression_statement "iVar26 = ReadBlobByte(image);" (assignment_expression "iVar26 = ReadBlobByte(image)" identifier = (call_expression "ReadBlobByte(image)" identifier (argument_list "(image)" ( identifier )))) ;) (expression_statement "__s_00 = (byte *)((int)__s + iVar25);" (assignment_expression "__s_00 = (byte *)((int)__s + iVar25)" identifier = (cast_expression "(byte *)((int)__s + iVar25)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + iVar25)" ( (binary_expression "(int)__s + iVar25" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "iVar25 = iVar25 + __n;" (assignment_expression "iVar25 = iVar25 + __n" identifier = (binary_expression "iVar25 + __n" identifier + identifier)) ;) (expression_statement "memset(__s_00,iVar26,__n);" (call_expression "memset(__s_00,iVar26,__n)" identifier (argument_list "(__s_00,iVar26,__n)" ( identifier , identifier , identifier ))) ;) }) while (parenthesized_expression "(iVar25 < (int)uVar17)" ( (binary_expression "iVar25 < (int)uVar17" identifier < (cast_expression "(int)uVar17" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) }) (else_clause "else if (uVar19 == 0) {\n              image->compression = FaxCompression;\n              if (uVar17 != 0) {\n                local_f4 = 0;\n                puVar33 = __s;\n                do {\n                  uVar24 = ReadBlobByte(image);\n                  if ((int)uVar24 < 0) break;\n                  uVar37 = uVar17 - local_f4;\n                  if ((int)uVar37 < 8) {\n                    if (uVar37 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar37 = 8;\nLAB_002629c0:\n                    uVar32 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                    else {\n                      uVar32 = 0;\n                      do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar33 = puVar33 + 4;\n                } while (local_f4 != (uVar17 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar17);\n            }" else (if_statement "if (uVar19 == 0) {\n              image->compression = FaxCompression;\n              if (uVar17 != 0) {\n                local_f4 = 0;\n                puVar33 = __s;\n                do {\n                  uVar24 = ReadBlobByte(image);\n                  if ((int)uVar24 < 0) break;\n                  uVar37 = uVar17 - local_f4;\n                  if ((int)uVar37 < 8) {\n                    if (uVar37 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar37 = 8;\nLAB_002629c0:\n                    uVar32 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                    else {\n                      uVar32 = 0;\n                      do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar33 = puVar33 + 4;\n                } while (local_f4 != (uVar17 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar17);\n            }" if (parenthesized_expression "(uVar19 == 0)" ( (binary_expression "uVar19 == 0" identifier == number_literal) )) (compound_statement "{\n              image->compression = FaxCompression;\n              if (uVar17 != 0) {\n                local_f4 = 0;\n                puVar33 = __s;\n                do {\n                  uVar24 = ReadBlobByte(image);\n                  if ((int)uVar24 < 0) break;\n                  uVar37 = uVar17 - local_f4;\n                  if ((int)uVar37 < 8) {\n                    if (uVar37 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar37 = 8;\nLAB_002629c0:\n                    uVar32 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                    else {\n                      uVar32 = 0;\n                      do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar33 = puVar33 + 4;\n                } while (local_f4 != (uVar17 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar17);\n            }" { (expression_statement "image->compression = FaxCompression;" (assignment_expression "image->compression = FaxCompression" (field_expression "image->compression" identifier -> field_identifier) = identifier) ;) (if_statement "if (uVar17 != 0) {\n                local_f4 = 0;\n                puVar33 = __s;\n                do {\n                  uVar24 = ReadBlobByte(image);\n                  if ((int)uVar24 < 0) break;\n                  uVar37 = uVar17 - local_f4;\n                  if ((int)uVar37 < 8) {\n                    if (uVar37 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar37 = 8;\nLAB_002629c0:\n                    uVar32 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                    else {\n                      uVar32 = 0;\n                      do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar33 = puVar33 + 4;\n                } while (local_f4 != (uVar17 - 1 & 0xfffffff8) + 8);\n              }" if (parenthesized_expression "(uVar17 != 0)" ( (binary_expression "uVar17 != 0" identifier != number_literal) )) (compound_statement "{\n                local_f4 = 0;\n                puVar33 = __s;\n                do {\n                  uVar24 = ReadBlobByte(image);\n                  if ((int)uVar24 < 0) break;\n                  uVar37 = uVar17 - local_f4;\n                  if ((int)uVar37 < 8) {\n                    if (uVar37 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar37 = 8;\nLAB_002629c0:\n                    uVar32 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                    else {\n                      uVar32 = 0;\n                      do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar33 = puVar33 + 4;\n                } while (local_f4 != (uVar17 - 1 & 0xfffffff8) + 8);\n              }" { (expression_statement "local_f4 = 0;" (assignment_expression "local_f4 = 0" identifier = number_literal) ;) (expression_statement "puVar33 = __s;" (assignment_expression "puVar33 = __s" identifier = identifier) ;) (do_statement "do {\n                  uVar24 = ReadBlobByte(image);\n                  if ((int)uVar24 < 0) break;\n                  uVar37 = uVar17 - local_f4;\n                  if ((int)uVar37 < 8) {\n                    if (uVar37 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar37 = 8;\nLAB_002629c0:\n                    uVar32 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                    else {\n                      uVar32 = 0;\n                      do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar33 = puVar33 + 4;\n                } while (local_f4 != (uVar17 - 1 & 0xfffffff8) + 8);" do (compound_statement "{\n                  uVar24 = ReadBlobByte(image);\n                  if ((int)uVar24 < 0) break;\n                  uVar37 = uVar17 - local_f4;\n                  if ((int)uVar37 < 8) {\n                    if (uVar37 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar37 = 8;\nLAB_002629c0:\n                    uVar32 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                    else {\n                      uVar32 = 0;\n                      do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar33 = puVar33 + 4;\n                }" { (expression_statement "uVar24 = ReadBlobByte(image);" (assignment_expression "uVar24 = ReadBlobByte(image)" identifier = (call_expression "ReadBlobByte(image)" identifier (argument_list "(image)" ( identifier )))) ;) (if_statement "if ((int)uVar24 < 0) break;" if (parenthesized_expression "((int)uVar24 < 0)" ( (binary_expression "(int)uVar24 < 0" (cast_expression "(int)uVar24" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar37 = uVar17 - local_f4;" (assignment_expression "uVar37 = uVar17 - local_f4" identifier = (binary_expression "uVar17 - local_f4" identifier - identifier)) ;) (if_statement "if ((int)uVar37 < 8) {\n                    if (uVar37 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar37 = 8;\nLAB_002629c0:\n                    uVar32 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                    else {\n                      uVar32 = 0;\n                      do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                  }" if (parenthesized_expression "((int)uVar37 < 8)" ( (binary_expression "(int)uVar37 < 8" (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n                    if (uVar37 != 0) goto LAB_002629c0;\n                  }" { (if_statement "if (uVar37 != 0) goto LAB_002629c0;" if (parenthesized_expression "(uVar37 != 0)" ( (binary_expression "uVar37 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002629c0;" goto statement_identifier ;)) }) (else_clause "else {\n                    uVar37 = 8;\nLAB_002629c0:\n                    uVar32 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                    else {\n                      uVar32 = 0;\n                      do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                  }" else (compound_statement "{\n                    uVar37 = 8;\nLAB_002629c0:\n                    uVar32 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                    else {\n                      uVar32 = 0;\n                      do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                  }" { (expression_statement "uVar37 = 8;" (assignment_expression "uVar37 = 8" identifier = number_literal) ;) (labeled_statement "LAB_002629c0:\n                    uVar32 = 0;" statement_identifier : (expression_statement "uVar32 = 0;" (assignment_expression "uVar32 = 0" identifier = number_literal) ;)) (if_statement "if (local_c8 == 0) {\n                      do {\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }\n                    else {\n                      uVar32 = 0;\n                      do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }" if (parenthesized_expression "(local_c8 == 0)" ( (binary_expression "local_c8 == 0" identifier == number_literal) )) (compound_statement "{\n                      do {\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }" { (do_statement "do {\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);" do (compound_statement "{\n                        iVar25 = ReadBlobByte(image);\n                        *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                        uVar32 = uVar32 + 1;\n                      }" { (expression_statement "iVar25 = ReadBlobByte(image);" (assignment_expression "iVar25 = ReadBlobByte(image)" identifier = (call_expression "ReadBlobByte(image)" identifier (argument_list "(image)" ( identifier )))) ;) (expression_statement "*(byte *)((int)puVar33 + uVar32) = (byte)iVar25;" (assignment_expression "*(byte *)((int)puVar33 + uVar32) = (byte)iVar25" (pointer_expression "*(byte *)((int)puVar33 + uVar32)" * (cast_expression "(byte *)((int)puVar33 + uVar32)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + uVar32)" ( (binary_expression "(int)puVar33 + uVar32" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = (cast_expression "(byte)iVar25" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uVar32 = uVar32 + 1;" (assignment_expression "uVar32 = uVar32 + 1" identifier = (binary_expression "uVar32 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar32 < uVar37)" ( (binary_expression "uVar32 < uVar37" identifier < identifier) )) ;) }) (else_clause "else {\n                      uVar32 = 0;\n                      do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }" else (compound_statement "{\n                      uVar32 = 0;\n                      do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);\n                    }" { (expression_statement "uVar32 = 0;" (assignment_expression "uVar32 = 0" identifier = number_literal) ;) (do_statement "do {\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      } while (uVar32 < uVar37);" do (compound_statement "{\n                        while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }\n                        *(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);\n                        uVar32 = uVar32 + 1;\n                      }" { (while_statement "while ((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0) {\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }" while (parenthesized_expression "((uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0)" ( (binary_expression "(uVar24 & 1 << (7U - (char)uVar32 & 0x1f)) != 0" (parenthesized_expression "(uVar24 & 1 << (7U - (char)uVar32 & 0x1f))" ( (binary_expression "uVar24 & 1 << (7U - (char)uVar32 & 0x1f)" identifier & (binary_expression "1 << (7U - (char)uVar32 & 0x1f)" number_literal << (parenthesized_expression "(7U - (char)uVar32 & 0x1f)" ( (binary_expression "7U - (char)uVar32 & 0x1f" (binary_expression "7U - (char)uVar32" number_literal - (cast_expression "(char)uVar32" ( (type_descriptor "char" primitive_type) ) identifier)) & number_literal) )))) )) != number_literal) )) (compound_statement "{\n                          iVar25 = ReadBlobByte(image);\n                          *(byte *)((int)puVar33 + uVar32) = (byte)iVar25;\n                          uVar32 = uVar32 + 1;\n                          if (uVar37 <= uVar32) goto LAB_00262a23;\n                        }" { (expression_statement "iVar25 = ReadBlobByte(image);" (assignment_expression "iVar25 = ReadBlobByte(image)" identifier = (call_expression "ReadBlobByte(image)" identifier (argument_list "(image)" ( identifier )))) ;) (expression_statement "*(byte *)((int)puVar33 + uVar32) = (byte)iVar25;" (assignment_expression "*(byte *)((int)puVar33 + uVar32) = (byte)iVar25" (pointer_expression "*(byte *)((int)puVar33 + uVar32)" * (cast_expression "(byte *)((int)puVar33 + uVar32)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + uVar32)" ( (binary_expression "(int)puVar33 + uVar32" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = (cast_expression "(byte)iVar25" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uVar32 = uVar32 + 1;" (assignment_expression "uVar32 = uVar32 + 1" identifier = (binary_expression "uVar32 + 1" identifier + number_literal)) ;) (if_statement "if (uVar37 <= uVar32) goto LAB_00262a23;" if (parenthesized_expression "(uVar37 <= uVar32)" ( (binary_expression "uVar37 <= uVar32" identifier <= identifier) )) (goto_statement "goto LAB_00262a23;" goto statement_identifier ;)) })) (expression_statement "*(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4);" (assignment_expression "*(byte *)((int)puVar33 + uVar32) =\n                             *(byte *)((int)local_b0 + uVar32 + local_f4)" (pointer_expression "*(byte *)((int)puVar33 + uVar32)" * (cast_expression "(byte *)((int)puVar33 + uVar32)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + uVar32)" ( (binary_expression "(int)puVar33 + uVar32" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = (pointer_expression "*(byte *)((int)local_b0 + uVar32 + local_f4)" * (cast_expression "(byte *)((int)local_b0 + uVar32 + local_f4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_b0 + uVar32 + local_f4)" ( (binary_expression "(int)local_b0 + uVar32 + local_f4" (binary_expression "(int)local_b0 + uVar32" (cast_expression "(int)local_b0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) ))))) ;) (expression_statement "uVar32 = uVar32 + 1;" (assignment_expression "uVar32 = uVar32 + 1" identifier = (binary_expression "uVar32 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar32 < uVar37)" ( (binary_expression "uVar32 < uVar37" identifier < identifier) )) ;) }))) }))) (labeled_statement "LAB_00262a23:\n                  local_f4 = local_f4 + 8;" statement_identifier : (expression_statement "local_f4 = local_f4 + 8;" (assignment_expression "local_f4 = local_f4 + 8" identifier = (binary_expression "local_f4 + 8" identifier + number_literal)) ;)) (expression_statement "puVar33 = puVar33 + 4;" (assignment_expression "puVar33 = puVar33 + 4" identifier = (binary_expression "puVar33 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_f4 != (uVar17 - 1 & 0xfffffff8) + 8)" ( (binary_expression "local_f4 != (uVar17 - 1 & 0xfffffff8) + 8" identifier != (binary_expression "(uVar17 - 1 & 0xfffffff8) + 8" (parenthesized_expression "(uVar17 - 1 & 0xfffffff8)" ( (binary_expression "uVar17 - 1 & 0xfffffff8" (binary_expression "uVar17 - 1" identifier - number_literal) & number_literal) )) + number_literal)) )) ;) })) (expression_statement "memcpy(local_b0,__s,uVar17);" (call_expression "memcpy(local_b0,__s,uVar17)" identifier (argument_list "(local_b0,__s,uVar17)" ( identifier , identifier , identifier ))) ;) })))) }) (else_clause "else {\n            image->compression = NoCompression;\n            uVar24 = ReadBlob(image,uVar17,__s);\n            if (uVar24 != uVar17) break;\n          }" else (compound_statement "{\n            image->compression = NoCompression;\n            uVar24 = ReadBlob(image,uVar17,__s);\n            if (uVar24 != uVar17) break;\n          }" { (expression_statement "image->compression = NoCompression;" (assignment_expression "image->compression = NoCompression" (field_expression "image->compression" identifier -> field_identifier) = identifier) ;) (expression_statement "uVar24 = ReadBlob(image,uVar17,__s);" (assignment_expression "uVar24 = ReadBlob(image,uVar17,__s)" identifier = (call_expression "ReadBlob(image,uVar17,__s)" identifier (argument_list "(image,uVar17,__s)" ( identifier , identifier , identifier )))) ;) (if_statement "if (uVar24 != uVar17) break;" if (parenthesized_expression "(uVar24 != uVar17)" ( (binary_expression "uVar24 != uVar17" identifier != identifier) )) (break_statement "break;" break ;)) }))) (expression_statement "pQVar21 = QueueAuthenticPixels(image,0,local_c8,image->columns,1,exception);" (assignment_expression "pQVar21 = QueueAuthenticPixels(image,0,local_c8,image->columns,1,exception)" identifier = (call_expression "QueueAuthenticPixels(image,0,local_c8,image->columns,1,exception)" identifier (argument_list "(image,0,local_c8,image->columns,1,exception)" ( identifier , number_literal , identifier , (field_expression "image->columns" identifier -> field_identifier) , number_literal , identifier )))) ;) (expression_statement "fVar11 = DAT_002df8a8;" (assignment_expression "fVar11 = DAT_002df8a8" identifier = identifier) ;) (if_statement "if (pQVar21 == (Quantum *)0x0) break;" if (parenthesized_expression "(pQVar21 == (Quantum *)0x0)" ( (binary_expression "pQVar21 == (Quantum *)0x0" identifier == (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "uVar24 = image->columns;" (assignment_expression "uVar24 = image->columns" identifier = (field_expression "image->columns" identifier -> field_identifier)) ;) (if_statement "if (uVar18 != 0x10) {\n            if (0 < (int)uVar24) {\n              if (uVar17 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar19 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar44 = "CorruptImage";\n                severity = CorruptImageError;\n                sVar43 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar31 = 0;\n              pPVar3 = image->channel_map;\n              PVar4 = pPVar3[5].traits;\n              pPVar34 = image->colormap;\n              sVar43 = image->number_channels;\n              iVar25 = pPVar3->offset;\n              iVar26 = pPVar3[1].offset;\n              iVar5 = pPVar3[2].offset;\n              PVar6 = pPVar3[3].traits;\n              PVar7 = pPVar3[4].traits;\n              iVar29 = 8 - uVar18;\n              puVar33 = __s;\n              while( true ) {\n                uVar37 = iVar20 - (((uint)(byte)*puVar33 & iVar20 << ((byte)iVar29 & 0x1f)) >>\n                                  ((byte)iVar29 & 0x1f));\n                if (PVar4 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[5].offset] = (double)uVar37;\n                }\n                pQVar21[iVar25] = pPVar34[uVar37].red;\n                pQVar21[iVar26] = pPVar34[uVar37].green;\n                pQVar21[iVar5] = pPVar34[uVar37].blue;\n                if (PVar6 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[3].offset] = pPVar34[uVar37].black;\n                }\n                if (PVar7 != UndefinedPixelTrait) {\n                  fVar10 = fVar11;\n                  if (pPVar34[uVar37].alpha_trait != UndefinedPixelTrait) {\n                    fVar10 = (float)pPVar34[uVar37].alpha;\n                  }\n                  pQVar21[pPVar3[4].offset] = (double)fVar10;\n                }\n                if (iVar29 == 0) {\n                  puVar33 = (ushort *)((int)puVar33 + 1);\n                  iVar29 = 8 - uVar18;\n                }\n                else {\n                  iVar29 = iVar29 - uVar18;\n                }\n                if (uVar24 == iVar31 + 1U) break;\n                iVar31 = iVar31 + 1;\n                pQVar21 = pQVar21 + sVar43;\n                if (uVar17 <= (uint)((int)puVar33 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            MVar15 = SyncAuthenticPixels(image,exception);\n            if (MVar15 != MagickFalse) goto LAB_00262579;\n            break;\n          }" if (parenthesized_expression "(uVar18 != 0x10)" ( (binary_expression "uVar18 != 0x10" identifier != number_literal) )) (compound_statement "{\n            if (0 < (int)uVar24) {\n              if (uVar17 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar19 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar44 = "CorruptImage";\n                severity = CorruptImageError;\n                sVar43 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar31 = 0;\n              pPVar3 = image->channel_map;\n              PVar4 = pPVar3[5].traits;\n              pPVar34 = image->colormap;\n              sVar43 = image->number_channels;\n              iVar25 = pPVar3->offset;\n              iVar26 = pPVar3[1].offset;\n              iVar5 = pPVar3[2].offset;\n              PVar6 = pPVar3[3].traits;\n              PVar7 = pPVar3[4].traits;\n              iVar29 = 8 - uVar18;\n              puVar33 = __s;\n              while( true ) {\n                uVar37 = iVar20 - (((uint)(byte)*puVar33 & iVar20 << ((byte)iVar29 & 0x1f)) >>\n                                  ((byte)iVar29 & 0x1f));\n                if (PVar4 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[5].offset] = (double)uVar37;\n                }\n                pQVar21[iVar25] = pPVar34[uVar37].red;\n                pQVar21[iVar26] = pPVar34[uVar37].green;\n                pQVar21[iVar5] = pPVar34[uVar37].blue;\n                if (PVar6 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[3].offset] = pPVar34[uVar37].black;\n                }\n                if (PVar7 != UndefinedPixelTrait) {\n                  fVar10 = fVar11;\n                  if (pPVar34[uVar37].alpha_trait != UndefinedPixelTrait) {\n                    fVar10 = (float)pPVar34[uVar37].alpha;\n                  }\n                  pQVar21[pPVar3[4].offset] = (double)fVar10;\n                }\n                if (iVar29 == 0) {\n                  puVar33 = (ushort *)((int)puVar33 + 1);\n                  iVar29 = 8 - uVar18;\n                }\n                else {\n                  iVar29 = iVar29 - uVar18;\n                }\n                if (uVar24 == iVar31 + 1U) break;\n                iVar31 = iVar31 + 1;\n                pQVar21 = pQVar21 + sVar43;\n                if (uVar17 <= (uint)((int)puVar33 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            MVar15 = SyncAuthenticPixels(image,exception);\n            if (MVar15 != MagickFalse) goto LAB_00262579;\n            break;\n          }" { (if_statement "if (0 < (int)uVar24) {\n              if (uVar17 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar19 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar44 = "CorruptImage";\n                severity = CorruptImageError;\n                sVar43 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar31 = 0;\n              pPVar3 = image->channel_map;\n              PVar4 = pPVar3[5].traits;\n              pPVar34 = image->colormap;\n              sVar43 = image->number_channels;\n              iVar25 = pPVar3->offset;\n              iVar26 = pPVar3[1].offset;\n              iVar5 = pPVar3[2].offset;\n              PVar6 = pPVar3[3].traits;\n              PVar7 = pPVar3[4].traits;\n              iVar29 = 8 - uVar18;\n              puVar33 = __s;\n              while( true ) {\n                uVar37 = iVar20 - (((uint)(byte)*puVar33 & iVar20 << ((byte)iVar29 & 0x1f)) >>\n                                  ((byte)iVar29 & 0x1f));\n                if (PVar4 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[5].offset] = (double)uVar37;\n                }\n                pQVar21[iVar25] = pPVar34[uVar37].red;\n                pQVar21[iVar26] = pPVar34[uVar37].green;\n                pQVar21[iVar5] = pPVar34[uVar37].blue;\n                if (PVar6 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[3].offset] = pPVar34[uVar37].black;\n                }\n                if (PVar7 != UndefinedPixelTrait) {\n                  fVar10 = fVar11;\n                  if (pPVar34[uVar37].alpha_trait != UndefinedPixelTrait) {\n                    fVar10 = (float)pPVar34[uVar37].alpha;\n                  }\n                  pQVar21[pPVar3[4].offset] = (double)fVar10;\n                }\n                if (iVar29 == 0) {\n                  puVar33 = (ushort *)((int)puVar33 + 1);\n                  iVar29 = 8 - uVar18;\n                }\n                else {\n                  iVar29 = iVar29 - uVar18;\n                }\n                if (uVar24 == iVar31 + 1U) break;\n                iVar31 = iVar31 + 1;\n                pQVar21 = pQVar21 + sVar43;\n                if (uVar17 <= (uint)((int)puVar33 - (int)__s)) goto LAB_002628e2;\n              }\n            }" if (parenthesized_expression "(0 < (int)uVar24)" ( (binary_expression "0 < (int)uVar24" number_literal < (cast_expression "(int)uVar24" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              if (uVar17 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar19 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar44 = "CorruptImage";\n                severity = CorruptImageError;\n                sVar43 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar31 = 0;\n              pPVar3 = image->channel_map;\n              PVar4 = pPVar3[5].traits;\n              pPVar34 = image->colormap;\n              sVar43 = image->number_channels;\n              iVar25 = pPVar3->offset;\n              iVar26 = pPVar3[1].offset;\n              iVar5 = pPVar3[2].offset;\n              PVar6 = pPVar3[3].traits;\n              PVar7 = pPVar3[4].traits;\n              iVar29 = 8 - uVar18;\n              puVar33 = __s;\n              while( true ) {\n                uVar37 = iVar20 - (((uint)(byte)*puVar33 & iVar20 << ((byte)iVar29 & 0x1f)) >>\n                                  ((byte)iVar29 & 0x1f));\n                if (PVar4 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[5].offset] = (double)uVar37;\n                }\n                pQVar21[iVar25] = pPVar34[uVar37].red;\n                pQVar21[iVar26] = pPVar34[uVar37].green;\n                pQVar21[iVar5] = pPVar34[uVar37].blue;\n                if (PVar6 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[3].offset] = pPVar34[uVar37].black;\n                }\n                if (PVar7 != UndefinedPixelTrait) {\n                  fVar10 = fVar11;\n                  if (pPVar34[uVar37].alpha_trait != UndefinedPixelTrait) {\n                    fVar10 = (float)pPVar34[uVar37].alpha;\n                  }\n                  pQVar21[pPVar3[4].offset] = (double)fVar10;\n                }\n                if (iVar29 == 0) {\n                  puVar33 = (ushort *)((int)puVar33 + 1);\n                  iVar29 = 8 - uVar18;\n                }\n                else {\n                  iVar29 = iVar29 - uVar18;\n                }\n                if (uVar24 == iVar31 + 1U) break;\n                iVar31 = iVar31 + 1;\n                pQVar21 = pQVar21 + sVar43;\n                if (uVar17 <= (uint)((int)puVar33 - (int)__s)) goto LAB_002628e2;\n              }\n            }" { (if_statement "if (uVar17 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar19 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar44 = "CorruptImage";\n                severity = CorruptImageError;\n                sVar43 = 0x206;\n                goto LAB_0026218b;\n              }" if (parenthesized_expression "(uVar17 == 0)" ( (binary_expression "uVar17 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar19 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar44 = "CorruptImage";\n                severity = CorruptImageError;\n                sVar43 = 0x206;\n                goto LAB_0026218b;\n              }" { (labeled_statement "LAB_002628e2:\n                RelinquishMagickMemory(__s);" statement_identifier : (expression_statement "RelinquishMagickMemory(__s);" (call_expression "RelinquishMagickMemory(__s)" identifier (argument_list "(__s)" ( identifier ))) ;)) (if_statement "if (uVar19 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }" if (parenthesized_expression "(uVar19 == 0)" ( (binary_expression "uVar19 == 0" identifier == number_literal) )) (compound_statement "{\n                  RelinquishMagickMemory(local_b0);\n                }" { (expression_statement "RelinquishMagickMemory(local_b0);" (call_expression "RelinquishMagickMemory(local_b0)" identifier (argument_list "(local_b0)" ( identifier ))) ;) })) (expression_statement "pcVar44 = "CorruptImage";" (assignment_expression "pcVar44 = "CorruptImage"" identifier = (string_literal ""CorruptImage"" " string_content ")) ;) (expression_statement "severity = CorruptImageError;" (assignment_expression "severity = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar43 = 0x206;" (assignment_expression "sVar43 = 0x206" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "iVar31 = 0;" (assignment_expression "iVar31 = 0" identifier = number_literal) ;) (expression_statement "pPVar3 = image->channel_map;" (assignment_expression "pPVar3 = image->channel_map" identifier = (field_expression "image->channel_map" identifier -> field_identifier)) ;) (expression_statement "PVar4 = pPVar3[5].traits;" (assignment_expression "PVar4 = pPVar3[5].traits" identifier = (field_expression "pPVar3[5].traits" (subscript_expression "pPVar3[5]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pPVar34 = image->colormap;" (assignment_expression "pPVar34 = image->colormap" identifier = (field_expression "image->colormap" identifier -> field_identifier)) ;) (expression_statement "sVar43 = image->number_channels;" (assignment_expression "sVar43 = image->number_channels" identifier = (field_expression "image->number_channels" identifier -> field_identifier)) ;) (expression_statement "iVar25 = pPVar3->offset;" (assignment_expression "iVar25 = pPVar3->offset" identifier = (field_expression "pPVar3->offset" identifier -> field_identifier)) ;) (expression_statement "iVar26 = pPVar3[1].offset;" (assignment_expression "iVar26 = pPVar3[1].offset" identifier = (field_expression "pPVar3[1].offset" (subscript_expression "pPVar3[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar5 = pPVar3[2].offset;" (assignment_expression "iVar5 = pPVar3[2].offset" identifier = (field_expression "pPVar3[2].offset" (subscript_expression "pPVar3[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "PVar6 = pPVar3[3].traits;" (assignment_expression "PVar6 = pPVar3[3].traits" identifier = (field_expression "pPVar3[3].traits" (subscript_expression "pPVar3[3]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "PVar7 = pPVar3[4].traits;" (assignment_expression "PVar7 = pPVar3[4].traits" identifier = (field_expression "pPVar3[4].traits" (subscript_expression "pPVar3[4]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar29 = 8 - uVar18;" (assignment_expression "iVar29 = 8 - uVar18" identifier = (binary_expression "8 - uVar18" number_literal - identifier)) ;) (expression_statement "puVar33 = __s;" (assignment_expression "puVar33 = __s" identifier = identifier) ;) (while_statement "while( true ) {\n                uVar37 = iVar20 - (((uint)(byte)*puVar33 & iVar20 << ((byte)iVar29 & 0x1f)) >>\n                                  ((byte)iVar29 & 0x1f));\n                if (PVar4 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[5].offset] = (double)uVar37;\n                }\n                pQVar21[iVar25] = pPVar34[uVar37].red;\n                pQVar21[iVar26] = pPVar34[uVar37].green;\n                pQVar21[iVar5] = pPVar34[uVar37].blue;\n                if (PVar6 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[3].offset] = pPVar34[uVar37].black;\n                }\n                if (PVar7 != UndefinedPixelTrait) {\n                  fVar10 = fVar11;\n                  if (pPVar34[uVar37].alpha_trait != UndefinedPixelTrait) {\n                    fVar10 = (float)pPVar34[uVar37].alpha;\n                  }\n                  pQVar21[pPVar3[4].offset] = (double)fVar10;\n                }\n                if (iVar29 == 0) {\n                  puVar33 = (ushort *)((int)puVar33 + 1);\n                  iVar29 = 8 - uVar18;\n                }\n                else {\n                  iVar29 = iVar29 - uVar18;\n                }\n                if (uVar24 == iVar31 + 1U) break;\n                iVar31 = iVar31 + 1;\n                pQVar21 = pQVar21 + sVar43;\n                if (uVar17 <= (uint)((int)puVar33 - (int)__s)) goto LAB_002628e2;\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                uVar37 = iVar20 - (((uint)(byte)*puVar33 & iVar20 << ((byte)iVar29 & 0x1f)) >>\n                                  ((byte)iVar29 & 0x1f));\n                if (PVar4 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[5].offset] = (double)uVar37;\n                }\n                pQVar21[iVar25] = pPVar34[uVar37].red;\n                pQVar21[iVar26] = pPVar34[uVar37].green;\n                pQVar21[iVar5] = pPVar34[uVar37].blue;\n                if (PVar6 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[3].offset] = pPVar34[uVar37].black;\n                }\n                if (PVar7 != UndefinedPixelTrait) {\n                  fVar10 = fVar11;\n                  if (pPVar34[uVar37].alpha_trait != UndefinedPixelTrait) {\n                    fVar10 = (float)pPVar34[uVar37].alpha;\n                  }\n                  pQVar21[pPVar3[4].offset] = (double)fVar10;\n                }\n                if (iVar29 == 0) {\n                  puVar33 = (ushort *)((int)puVar33 + 1);\n                  iVar29 = 8 - uVar18;\n                }\n                else {\n                  iVar29 = iVar29 - uVar18;\n                }\n                if (uVar24 == iVar31 + 1U) break;\n                iVar31 = iVar31 + 1;\n                pQVar21 = pQVar21 + sVar43;\n                if (uVar17 <= (uint)((int)puVar33 - (int)__s)) goto LAB_002628e2;\n              }" { (expression_statement "uVar37 = iVar20 - (((uint)(byte)*puVar33 & iVar20 << ((byte)iVar29 & 0x1f)) >>\n                                  ((byte)iVar29 & 0x1f));" (assignment_expression "uVar37 = iVar20 - (((uint)(byte)*puVar33 & iVar20 << ((byte)iVar29 & 0x1f)) >>\n                                  ((byte)iVar29 & 0x1f))" identifier = (binary_expression "iVar20 - (((uint)(byte)*puVar33 & iVar20 << ((byte)iVar29 & 0x1f)) >>\n                                  ((byte)iVar29 & 0x1f))" identifier - (parenthesized_expression "(((uint)(byte)*puVar33 & iVar20 << ((byte)iVar29 & 0x1f)) >>\n                                  ((byte)iVar29 & 0x1f))" ( (binary_expression "((uint)(byte)*puVar33 & iVar20 << ((byte)iVar29 & 0x1f)) >>\n                                  ((byte)iVar29 & 0x1f)" (parenthesized_expression "((uint)(byte)*puVar33 & iVar20 << ((byte)iVar29 & 0x1f))" ( (binary_expression "(uint)(byte)*puVar33 & iVar20 << ((byte)iVar29 & 0x1f)" (binary_expression "(uint)(byte)*puVar33" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier) & (binary_expression "iVar20 << ((byte)iVar29 & 0x1f)" identifier << (parenthesized_expression "((byte)iVar29 & 0x1f)" ( (binary_expression "(byte)iVar29 & 0x1f" (cast_expression "(byte)iVar29" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) )) >> (parenthesized_expression "((byte)iVar29 & 0x1f)" ( (binary_expression "(byte)iVar29 & 0x1f" (cast_expression "(byte)iVar29" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )))) ;) (if_statement "if (PVar4 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[5].offset] = (double)uVar37;\n                }" if (parenthesized_expression "(PVar4 != UndefinedPixelTrait)" ( (binary_expression "PVar4 != UndefinedPixelTrait" identifier != identifier) )) (compound_statement "{\n                  pQVar21[pPVar3[5].offset] = (double)uVar37;\n                }" { (expression_statement "pQVar21[pPVar3[5].offset] = (double)uVar37;" (assignment_expression "pQVar21[pPVar3[5].offset] = (double)uVar37" (subscript_expression "pQVar21[pPVar3[5].offset]" identifier [ (field_expression "pPVar3[5].offset" (subscript_expression "pPVar3[5]" identifier [ number_literal ]) . field_identifier) ]) = (cast_expression "(double)uVar37" ( (type_descriptor "double" primitive_type) ) identifier)) ;) })) (expression_statement "pQVar21[iVar25] = pPVar34[uVar37].red;" (assignment_expression "pQVar21[iVar25] = pPVar34[uVar37].red" (subscript_expression "pQVar21[iVar25]" identifier [ identifier ]) = (field_expression "pPVar34[uVar37].red" (subscript_expression "pPVar34[uVar37]" identifier [ identifier ]) . field_identifier)) ;) (expression_statement "pQVar21[iVar26] = pPVar34[uVar37].green;" (assignment_expression "pQVar21[iVar26] = pPVar34[uVar37].green" (subscript_expression "pQVar21[iVar26]" identifier [ identifier ]) = (field_expression "pPVar34[uVar37].green" (subscript_expression "pPVar34[uVar37]" identifier [ identifier ]) . field_identifier)) ;) (expression_statement "pQVar21[iVar5] = pPVar34[uVar37].blue;" (assignment_expression "pQVar21[iVar5] = pPVar34[uVar37].blue" (subscript_expression "pQVar21[iVar5]" identifier [ identifier ]) = (field_expression "pPVar34[uVar37].blue" (subscript_expression "pPVar34[uVar37]" identifier [ identifier ]) . field_identifier)) ;) (if_statement "if (PVar6 != UndefinedPixelTrait) {\n                  pQVar21[pPVar3[3].offset] = pPVar34[uVar37].black;\n                }" if (parenthesized_expression "(PVar6 != UndefinedPixelTrait)" ( (binary_expression "PVar6 != UndefinedPixelTrait" identifier != identifier) )) (compound_statement "{\n                  pQVar21[pPVar3[3].offset] = pPVar34[uVar37].black;\n                }" { (expression_statement "pQVar21[pPVar3[3].offset] = pPVar34[uVar37].black;" (assignment_expression "pQVar21[pPVar3[3].offset] = pPVar34[uVar37].black" (subscript_expression "pQVar21[pPVar3[3].offset]" identifier [ (field_expression "pPVar3[3].offset" (subscript_expression "pPVar3[3]" identifier [ number_literal ]) . field_identifier) ]) = (field_expression "pPVar34[uVar37].black" (subscript_expression "pPVar34[uVar37]" identifier [ identifier ]) . field_identifier)) ;) })) (if_statement "if (PVar7 != UndefinedPixelTrait) {\n                  fVar10 = fVar11;\n                  if (pPVar34[uVar37].alpha_trait != UndefinedPixelTrait) {\n                    fVar10 = (float)pPVar34[uVar37].alpha;\n                  }\n                  pQVar21[pPVar3[4].offset] = (double)fVar10;\n                }" if (parenthesized_expression "(PVar7 != UndefinedPixelTrait)" ( (binary_expression "PVar7 != UndefinedPixelTrait" identifier != identifier) )) (compound_statement "{\n                  fVar10 = fVar11;\n                  if (pPVar34[uVar37].alpha_trait != UndefinedPixelTrait) {\n                    fVar10 = (float)pPVar34[uVar37].alpha;\n                  }\n                  pQVar21[pPVar3[4].offset] = (double)fVar10;\n                }" { (expression_statement "fVar10 = fVar11;" (assignment_expression "fVar10 = fVar11" identifier = identifier) ;) (if_statement "if (pPVar34[uVar37].alpha_trait != UndefinedPixelTrait) {\n                    fVar10 = (float)pPVar34[uVar37].alpha;\n                  }" if (parenthesized_expression "(pPVar34[uVar37].alpha_trait != UndefinedPixelTrait)" ( (binary_expression "pPVar34[uVar37].alpha_trait != UndefinedPixelTrait" (field_expression "pPVar34[uVar37].alpha_trait" (subscript_expression "pPVar34[uVar37]" identifier [ identifier ]) . field_identifier) != identifier) )) (compound_statement "{\n                    fVar10 = (float)pPVar34[uVar37].alpha;\n                  }" { (expression_statement "fVar10 = (float)pPVar34[uVar37].alpha;" (assignment_expression "fVar10 = (float)pPVar34[uVar37].alpha" identifier = (cast_expression "(float)pPVar34[uVar37].alpha" ( (type_descriptor "float" primitive_type) ) (field_expression "pPVar34[uVar37].alpha" (subscript_expression "pPVar34[uVar37]" identifier [ identifier ]) . field_identifier))) ;) })) (expression_statement "pQVar21[pPVar3[4].offset] = (double)fVar10;" (assignment_expression "pQVar21[pPVar3[4].offset] = (double)fVar10" (subscript_expression "pQVar21[pPVar3[4].offset]" identifier [ (field_expression "pPVar3[4].offset" (subscript_expression "pPVar3[4]" identifier [ number_literal ]) . field_identifier) ]) = (cast_expression "(double)fVar10" ( (type_descriptor "double" primitive_type) ) identifier)) ;) })) (if_statement "if (iVar29 == 0) {\n                  puVar33 = (ushort *)((int)puVar33 + 1);\n                  iVar29 = 8 - uVar18;\n                }\n                else {\n                  iVar29 = iVar29 - uVar18;\n                }" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (compound_statement "{\n                  puVar33 = (ushort *)((int)puVar33 + 1);\n                  iVar29 = 8 - uVar18;\n                }" { (expression_statement "puVar33 = (ushort *)((int)puVar33 + 1);" (assignment_expression "puVar33 = (ushort *)((int)puVar33 + 1)" identifier = (cast_expression "(ushort *)((int)puVar33 + 1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + 1)" ( (binary_expression "(int)puVar33 + 1" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar29 = 8 - uVar18;" (assignment_expression "iVar29 = 8 - uVar18" identifier = (binary_expression "8 - uVar18" number_literal - identifier)) ;) }) (else_clause "else {\n                  iVar29 = iVar29 - uVar18;\n                }" else (compound_statement "{\n                  iVar29 = iVar29 - uVar18;\n                }" { (expression_statement "iVar29 = iVar29 - uVar18;" (assignment_expression "iVar29 = iVar29 - uVar18" identifier = (binary_expression "iVar29 - uVar18" identifier - identifier)) ;) }))) (if_statement "if (uVar24 == iVar31 + 1U) break;" if (parenthesized_expression "(uVar24 == iVar31 + 1U)" ( (binary_expression "uVar24 == iVar31 + 1U" identifier == (binary_expression "iVar31 + 1U" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "iVar31 = iVar31 + 1;" (assignment_expression "iVar31 = iVar31 + 1" identifier = (binary_expression "iVar31 + 1" identifier + number_literal)) ;) (expression_statement "pQVar21 = pQVar21 + sVar43;" (assignment_expression "pQVar21 = pQVar21 + sVar43" identifier = (binary_expression "pQVar21 + sVar43" identifier + identifier)) ;) (if_statement "if (uVar17 <= (uint)((int)puVar33 - (int)__s)) goto LAB_002628e2;" if (parenthesized_expression "(uVar17 <= (uint)((int)puVar33 - (int)__s))" ( (binary_expression "uVar17 <= (uint)((int)puVar33 - (int)__s)" identifier <= (call_expression "(uint)((int)puVar33 - (int)__s)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar33 - (int)__s)" ( (binary_expression "(int)puVar33 - (int)__s" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (goto_statement "goto LAB_002628e2;" goto statement_identifier ;)) })) })) (expression_statement "MVar15 = SyncAuthenticPixels(image,exception);" (assignment_expression "MVar15 = SyncAuthenticPixels(image,exception)" identifier = (call_expression "SyncAuthenticPixels(image,exception)" identifier (argument_list "(image,exception)" ( identifier , identifier )))) ;) (if_statement "if (MVar15 != MagickFalse) goto LAB_00262579;" if (parenthesized_expression "(MVar15 != MagickFalse)" ( (binary_expression "MVar15 != MagickFalse" identifier != identifier) )) (goto_statement "goto LAB_00262579;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (if_statement "if (uVar17 * 2 < uVar24) {\n            RelinquishMagickMemory(__s);\n            if (uVar19 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar44 = "CorruptImage";\n            severity = CorruptImageError;\n            sVar43 = 0x1ec;\n            goto LAB_0026218b;\n          }" if (parenthesized_expression "(uVar17 * 2 < uVar24)" ( (binary_expression "uVar17 * 2 < uVar24" (binary_expression "uVar17 * 2" identifier * number_literal) < identifier) )) (compound_statement "{\n            RelinquishMagickMemory(__s);\n            if (uVar19 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar44 = "CorruptImage";\n            severity = CorruptImageError;\n            sVar43 = 0x1ec;\n            goto LAB_0026218b;\n          }" { (expression_statement "RelinquishMagickMemory(__s);" (call_expression "RelinquishMagickMemory(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (if_statement "if (uVar19 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }" if (parenthesized_expression "(uVar19 == 0)" ( (binary_expression "uVar19 == 0" identifier == number_literal) )) (compound_statement "{\n              RelinquishMagickMemory(local_b0);\n            }" { (expression_statement "RelinquishMagickMemory(local_b0);" (call_expression "RelinquishMagickMemory(local_b0)" identifier (argument_list "(local_b0)" ( identifier ))) ;) })) (expression_statement "pcVar44 = "CorruptImage";" (assignment_expression "pcVar44 = "CorruptImage"" identifier = (string_literal ""CorruptImage"" " string_content ")) ;) (expression_statement "severity = CorruptImageError;" (assignment_expression "severity = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar43 = 0x1ec;" (assignment_expression "sVar43 = 0x1ec" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (if_statement "if (uVar24 == 0) {\nLAB_00262579:\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }\n          else {\n            pPVar3 = image->channel_map;\n            sVar43 = image->number_channels;\n            iVar25 = pPVar3[1].offset;\n            iVar26 = pPVar3->offset;\n            iVar5 = pPVar3[2].offset;\n            if (pPVar3[4].traits != UndefinedPixelTrait) {\n              iVar29 = pPVar3[4].offset;\n              puVar33 = __s;\n              do {\n                fVar10 = DAT_00306a38;\n                puVar30 = puVar33 + 1;\n                uVar14 = *puVar33 << 8;\n                uVar9 = *puVar33 >> 8;\n                pQVar21[iVar26] = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n                pQVar21[iVar25] =\n                     (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n                pQVar21[iVar5] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n                pQVar21[iVar29] = (double)fVar11;\n                pQVar21 = pQVar21 + sVar43;\n                puVar33 = puVar30;\n              } while (puVar30 != __s + uVar24);\n              goto LAB_00262579;\n            }\n            pdVar23 = pQVar21 + iVar26;\n            puVar33 = __s;\n            do {\n              fVar10 = DAT_00306a38;\n              puVar30 = puVar33 + 1;\n              uVar14 = *puVar33 << 8;\n              uVar9 = *puVar33 >> 8;\n              *pdVar23 = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n              pdVar23[iVar25 - iVar26] =\n                   (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n              pdVar23[iVar5 - iVar26] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n              pdVar23 = pdVar23 + sVar43;\n              puVar33 = puVar30;\n            } while (__s + uVar24 != puVar30);\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }" if (parenthesized_expression "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00262579:\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }" { (labeled_statement "LAB_00262579:\n            p_Var8 = image->previous;" statement_identifier : (expression_statement "p_Var8 = image->previous;" (assignment_expression "p_Var8 = image->previous" identifier = (field_expression "image->previous" identifier -> field_identifier)) ;)) (expression_statement "uVar24 = image->rows;" (assignment_expression "uVar24 = image->rows" identifier = (field_expression "image->rows" identifier -> field_identifier)) ;) }) (else_clause "else {\n            pPVar3 = image->channel_map;\n            sVar43 = image->number_channels;\n            iVar25 = pPVar3[1].offset;\n            iVar26 = pPVar3->offset;\n            iVar5 = pPVar3[2].offset;\n            if (pPVar3[4].traits != UndefinedPixelTrait) {\n              iVar29 = pPVar3[4].offset;\n              puVar33 = __s;\n              do {\n                fVar10 = DAT_00306a38;\n                puVar30 = puVar33 + 1;\n                uVar14 = *puVar33 << 8;\n                uVar9 = *puVar33 >> 8;\n                pQVar21[iVar26] = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n                pQVar21[iVar25] =\n                     (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n                pQVar21[iVar5] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n                pQVar21[iVar29] = (double)fVar11;\n                pQVar21 = pQVar21 + sVar43;\n                puVar33 = puVar30;\n              } while (puVar30 != __s + uVar24);\n              goto LAB_00262579;\n            }\n            pdVar23 = pQVar21 + iVar26;\n            puVar33 = __s;\n            do {\n              fVar10 = DAT_00306a38;\n              puVar30 = puVar33 + 1;\n              uVar14 = *puVar33 << 8;\n              uVar9 = *puVar33 >> 8;\n              *pdVar23 = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n              pdVar23[iVar25 - iVar26] =\n                   (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n              pdVar23[iVar5 - iVar26] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n              pdVar23 = pdVar23 + sVar43;\n              puVar33 = puVar30;\n            } while (__s + uVar24 != puVar30);\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }" else (compound_statement "{\n            pPVar3 = image->channel_map;\n            sVar43 = image->number_channels;\n            iVar25 = pPVar3[1].offset;\n            iVar26 = pPVar3->offset;\n            iVar5 = pPVar3[2].offset;\n            if (pPVar3[4].traits != UndefinedPixelTrait) {\n              iVar29 = pPVar3[4].offset;\n              puVar33 = __s;\n              do {\n                fVar10 = DAT_00306a38;\n                puVar30 = puVar33 + 1;\n                uVar14 = *puVar33 << 8;\n                uVar9 = *puVar33 >> 8;\n                pQVar21[iVar26] = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n                pQVar21[iVar25] =\n                     (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n                pQVar21[iVar5] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n                pQVar21[iVar29] = (double)fVar11;\n                pQVar21 = pQVar21 + sVar43;\n                puVar33 = puVar30;\n              } while (puVar30 != __s + uVar24);\n              goto LAB_00262579;\n            }\n            pdVar23 = pQVar21 + iVar26;\n            puVar33 = __s;\n            do {\n              fVar10 = DAT_00306a38;\n              puVar30 = puVar33 + 1;\n              uVar14 = *puVar33 << 8;\n              uVar9 = *puVar33 >> 8;\n              *pdVar23 = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n              pdVar23[iVar25 - iVar26] =\n                   (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n              pdVar23[iVar5 - iVar26] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n              pdVar23 = pdVar23 + sVar43;\n              puVar33 = puVar30;\n            } while (__s + uVar24 != puVar30);\n            p_Var8 = image->previous;\n            uVar24 = image->rows;\n          }" { (expression_statement "pPVar3 = image->channel_map;" (assignment_expression "pPVar3 = image->channel_map" identifier = (field_expression "image->channel_map" identifier -> field_identifier)) ;) (expression_statement "sVar43 = image->number_channels;" (assignment_expression "sVar43 = image->number_channels" identifier = (field_expression "image->number_channels" identifier -> field_identifier)) ;) (expression_statement "iVar25 = pPVar3[1].offset;" (assignment_expression "iVar25 = pPVar3[1].offset" identifier = (field_expression "pPVar3[1].offset" (subscript_expression "pPVar3[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar26 = pPVar3->offset;" (assignment_expression "iVar26 = pPVar3->offset" identifier = (field_expression "pPVar3->offset" identifier -> field_identifier)) ;) (expression_statement "iVar5 = pPVar3[2].offset;" (assignment_expression "iVar5 = pPVar3[2].offset" identifier = (field_expression "pPVar3[2].offset" (subscript_expression "pPVar3[2]" identifier [ number_literal ]) . field_identifier)) ;) (if_statement "if (pPVar3[4].traits != UndefinedPixelTrait) {\n              iVar29 = pPVar3[4].offset;\n              puVar33 = __s;\n              do {\n                fVar10 = DAT_00306a38;\n                puVar30 = puVar33 + 1;\n                uVar14 = *puVar33 << 8;\n                uVar9 = *puVar33 >> 8;\n                pQVar21[iVar26] = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n                pQVar21[iVar25] =\n                     (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n                pQVar21[iVar5] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n                pQVar21[iVar29] = (double)fVar11;\n                pQVar21 = pQVar21 + sVar43;\n                puVar33 = puVar30;\n              } while (puVar30 != __s + uVar24);\n              goto LAB_00262579;\n            }" if (parenthesized_expression "(pPVar3[4].traits != UndefinedPixelTrait)" ( (binary_expression "pPVar3[4].traits != UndefinedPixelTrait" (field_expression "pPVar3[4].traits" (subscript_expression "pPVar3[4]" identifier [ number_literal ]) . field_identifier) != identifier) )) (compound_statement "{\n              iVar29 = pPVar3[4].offset;\n              puVar33 = __s;\n              do {\n                fVar10 = DAT_00306a38;\n                puVar30 = puVar33 + 1;\n                uVar14 = *puVar33 << 8;\n                uVar9 = *puVar33 >> 8;\n                pQVar21[iVar26] = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n                pQVar21[iVar25] =\n                     (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n                pQVar21[iVar5] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n                pQVar21[iVar29] = (double)fVar11;\n                pQVar21 = pQVar21 + sVar43;\n                puVar33 = puVar30;\n              } while (puVar30 != __s + uVar24);\n              goto LAB_00262579;\n            }" { (expression_statement "iVar29 = pPVar3[4].offset;" (assignment_expression "iVar29 = pPVar3[4].offset" identifier = (field_expression "pPVar3[4].offset" (subscript_expression "pPVar3[4]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "puVar33 = __s;" (assignment_expression "puVar33 = __s" identifier = identifier) ;) (do_statement "do {\n                fVar10 = DAT_00306a38;\n                puVar30 = puVar33 + 1;\n                uVar14 = *puVar33 << 8;\n                uVar9 = *puVar33 >> 8;\n                pQVar21[iVar26] = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n                pQVar21[iVar25] =\n                     (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n                pQVar21[iVar5] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n                pQVar21[iVar29] = (double)fVar11;\n                pQVar21 = pQVar21 + sVar43;\n                puVar33 = puVar30;\n              } while (puVar30 != __s + uVar24);" do (compound_statement "{\n                fVar10 = DAT_00306a38;\n                puVar30 = puVar33 + 1;\n                uVar14 = *puVar33 << 8;\n                uVar9 = *puVar33 >> 8;\n                pQVar21[iVar26] = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n                pQVar21[iVar25] =\n                     (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n                pQVar21[iVar5] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n                pQVar21[iVar29] = (double)fVar11;\n                pQVar21 = pQVar21 + sVar43;\n                puVar33 = puVar30;\n              }" { (expression_statement "fVar10 = DAT_00306a38;" (assignment_expression "fVar10 = DAT_00306a38" identifier = identifier) ;) (expression_statement "puVar30 = puVar33 + 1;" (assignment_expression "puVar30 = puVar33 + 1" identifier = (binary_expression "puVar33 + 1" identifier + number_literal)) ;) (expression_statement "uVar14 = *puVar33 << 8;" (assignment_expression "uVar14 = *puVar33 << 8" identifier = (binary_expression "*puVar33 << 8" (pointer_expression "*puVar33" * identifier) << number_literal)) ;) (expression_statement "uVar9 = *puVar33 >> 8;" (assignment_expression "uVar9 = *puVar33 >> 8" identifier = (binary_expression "*puVar33 >> 8" (pointer_expression "*puVar33" * identifier) >> number_literal)) ;) (expression_statement "pQVar21[iVar26] = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);" (assignment_expression "pQVar21[iVar26] = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38)" (subscript_expression "pQVar21[iVar26]" identifier [ identifier ]) = (cast_expression "(double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38)" ( (binary_expression "((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38" (parenthesized_expression "((float)(uVar14 >> 0xb) * fVar11)" ( (binary_expression "(float)(uVar14 >> 0xb) * fVar11" (cast_expression "(float)(uVar14 >> 0xb)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(uVar14 >> 0xb)" ( (binary_expression "uVar14 >> 0xb" identifier >> number_literal) ))) * identifier) )) / identifier) )))) ;) (expression_statement "pQVar21[iVar25] =\n                     (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);" (assignment_expression "pQVar21[iVar25] =\n                     (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4)" (subscript_expression "pQVar21[iVar25]" identifier [ identifier ]) = (cast_expression "(double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4)" ( (binary_expression "((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4" (parenthesized_expression "((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11)" ( (binary_expression "(float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11" (cast_expression "(float)((uVar14 | uVar9) >> 5 & 0x3f)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((uVar14 | uVar9) >> 5 & 0x3f)" ( (binary_expression "(uVar14 | uVar9) >> 5 & 0x3f" (binary_expression "(uVar14 | uVar9) >> 5" (parenthesized_expression "(uVar14 | uVar9)" ( (binary_expression "uVar14 | uVar9" identifier | identifier) )) >> number_literal) & number_literal) ))) * identifier) )) / identifier) )))) ;) (expression_statement "pQVar21[iVar5] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);" (assignment_expression "pQVar21[iVar5] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10)" (subscript_expression "pQVar21[iVar5]" identifier [ identifier ]) = (cast_expression "(double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(((float)(uVar9 & 0x1f) * fVar11) / fVar10)" ( (binary_expression "((float)(uVar9 & 0x1f) * fVar11) / fVar10" (parenthesized_expression "((float)(uVar9 & 0x1f) * fVar11)" ( (binary_expression "(float)(uVar9 & 0x1f) * fVar11" (cast_expression "(float)(uVar9 & 0x1f)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) ))) * identifier) )) / identifier) )))) ;) (expression_statement "pQVar21[iVar29] = (double)fVar11;" (assignment_expression "pQVar21[iVar29] = (double)fVar11" (subscript_expression "pQVar21[iVar29]" identifier [ identifier ]) = (cast_expression "(double)fVar11" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pQVar21 = pQVar21 + sVar43;" (assignment_expression "pQVar21 = pQVar21 + sVar43" identifier = (binary_expression "pQVar21 + sVar43" identifier + identifier)) ;) (expression_statement "puVar33 = puVar30;" (assignment_expression "puVar33 = puVar30" identifier = identifier) ;) }) while (parenthesized_expression "(puVar30 != __s + uVar24)" ( (binary_expression "puVar30 != __s + uVar24" identifier != (binary_expression "__s + uVar24" identifier + identifier)) )) ;) (goto_statement "goto LAB_00262579;" goto statement_identifier ;) })) (expression_statement "pdVar23 = pQVar21 + iVar26;" (assignment_expression "pdVar23 = pQVar21 + iVar26" identifier = (binary_expression "pQVar21 + iVar26" identifier + identifier)) ;) (expression_statement "puVar33 = __s;" (assignment_expression "puVar33 = __s" identifier = identifier) ;) (do_statement "do {\n              fVar10 = DAT_00306a38;\n              puVar30 = puVar33 + 1;\n              uVar14 = *puVar33 << 8;\n              uVar9 = *puVar33 >> 8;\n              *pdVar23 = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n              pdVar23[iVar25 - iVar26] =\n                   (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n              pdVar23[iVar5 - iVar26] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n              pdVar23 = pdVar23 + sVar43;\n              puVar33 = puVar30;\n            } while (__s + uVar24 != puVar30);" do (compound_statement "{\n              fVar10 = DAT_00306a38;\n              puVar30 = puVar33 + 1;\n              uVar14 = *puVar33 << 8;\n              uVar9 = *puVar33 >> 8;\n              *pdVar23 = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);\n              pdVar23[iVar25 - iVar26] =\n                   (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);\n              pdVar23[iVar5 - iVar26] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);\n              pdVar23 = pdVar23 + sVar43;\n              puVar33 = puVar30;\n            }" { (expression_statement "fVar10 = DAT_00306a38;" (assignment_expression "fVar10 = DAT_00306a38" identifier = identifier) ;) (expression_statement "puVar30 = puVar33 + 1;" (assignment_expression "puVar30 = puVar33 + 1" identifier = (binary_expression "puVar33 + 1" identifier + number_literal)) ;) (expression_statement "uVar14 = *puVar33 << 8;" (assignment_expression "uVar14 = *puVar33 << 8" identifier = (binary_expression "*puVar33 << 8" (pointer_expression "*puVar33" * identifier) << number_literal)) ;) (expression_statement "uVar9 = *puVar33 >> 8;" (assignment_expression "uVar9 = *puVar33 >> 8" identifier = (binary_expression "*puVar33 >> 8" (pointer_expression "*puVar33" * identifier) >> number_literal)) ;) (expression_statement "*pdVar23 = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38);" (assignment_expression "*pdVar23 = (double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38)" (pointer_expression "*pdVar23" * identifier) = (cast_expression "(double)(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38)" ( (binary_expression "((float)(uVar14 >> 0xb) * fVar11) / DAT_00306a38" (parenthesized_expression "((float)(uVar14 >> 0xb) * fVar11)" ( (binary_expression "(float)(uVar14 >> 0xb) * fVar11" (cast_expression "(float)(uVar14 >> 0xb)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(uVar14 >> 0xb)" ( (binary_expression "uVar14 >> 0xb" identifier >> number_literal) ))) * identifier) )) / identifier) )))) ;) (expression_statement "pdVar23[iVar25 - iVar26] =\n                   (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4);" (assignment_expression "pdVar23[iVar25 - iVar26] =\n                   (double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4)" (subscript_expression "pdVar23[iVar25 - iVar26]" identifier [ (binary_expression "iVar25 - iVar26" identifier - identifier) ]) = (cast_expression "(double)(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4)" ( (binary_expression "((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11) / DAT_0030d3a4" (parenthesized_expression "((float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11)" ( (binary_expression "(float)((uVar14 | uVar9) >> 5 & 0x3f) * fVar11" (cast_expression "(float)((uVar14 | uVar9) >> 5 & 0x3f)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((uVar14 | uVar9) >> 5 & 0x3f)" ( (binary_expression "(uVar14 | uVar9) >> 5 & 0x3f" (binary_expression "(uVar14 | uVar9) >> 5" (parenthesized_expression "(uVar14 | uVar9)" ( (binary_expression "uVar14 | uVar9" identifier | identifier) )) >> number_literal) & number_literal) ))) * identifier) )) / identifier) )))) ;) (expression_statement "pdVar23[iVar5 - iVar26] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10);" (assignment_expression "pdVar23[iVar5 - iVar26] = (double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10)" (subscript_expression "pdVar23[iVar5 - iVar26]" identifier [ (binary_expression "iVar5 - iVar26" identifier - identifier) ]) = (cast_expression "(double)(((float)(uVar9 & 0x1f) * fVar11) / fVar10)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(((float)(uVar9 & 0x1f) * fVar11) / fVar10)" ( (binary_expression "((float)(uVar9 & 0x1f) * fVar11) / fVar10" (parenthesized_expression "((float)(uVar9 & 0x1f) * fVar11)" ( (binary_expression "(float)(uVar9 & 0x1f) * fVar11" (cast_expression "(float)(uVar9 & 0x1f)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) ))) * identifier) )) / identifier) )))) ;) (expression_statement "pdVar23 = pdVar23 + sVar43;" (assignment_expression "pdVar23 = pdVar23 + sVar43" identifier = (binary_expression "pdVar23 + sVar43" identifier + identifier)) ;) (expression_statement "puVar33 = puVar30;" (assignment_expression "puVar33 = puVar30" identifier = identifier) ;) }) while (parenthesized_expression "(__s + uVar24 != puVar30)" ( (binary_expression "__s + uVar24 != puVar30" (binary_expression "__s + uVar24" identifier + identifier) != identifier) )) ;) (expression_statement "p_Var8 = image->previous;" (assignment_expression "p_Var8 = image->previous" identifier = (field_expression "image->previous" identifier -> field_identifier)) ;) (expression_statement "uVar24 = image->rows;" (assignment_expression "uVar24 = image->rows" identifier = (field_expression "image->rows" identifier -> field_identifier)) ;) }))) (if_statement "if (p_Var8 == (_Image *)0x0) {\n            local_9c = SetImageProgress(image,"Load/Image",CONCAT44(local_a8,local_ac),\n                                        (ulonglong)uVar24);\n            if (local_9c == MagickFalse) break;\n            uVar24 = image->rows;\n          }" if (parenthesized_expression "(p_Var8 == (_Image *)0x0)" ( (binary_expression "p_Var8 == (_Image *)0x0" identifier == (cast_expression "(_Image *)0x0" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            local_9c = SetImageProgress(image,"Load/Image",CONCAT44(local_a8,local_ac),\n                                        (ulonglong)uVar24);\n            if (local_9c == MagickFalse) break;\n            uVar24 = image->rows;\n          }" { (expression_statement "local_9c = SetImageProgress(image,"Load/Image",CONCAT44(local_a8,local_ac),\n                                        (ulonglong)uVar24);" (assignment_expression "local_9c = SetImageProgress(image,"Load/Image",CONCAT44(local_a8,local_ac),\n                                        (ulonglong)uVar24)" identifier = (call_expression "SetImageProgress(image,"Load/Image",CONCAT44(local_a8,local_ac),\n                                        (ulonglong)uVar24)" identifier (argument_list "(image,"Load/Image",CONCAT44(local_a8,local_ac),\n                                        (ulonglong)uVar24)" ( identifier , (string_literal ""Load/Image"" " string_content ") , (call_expression "CONCAT44(local_a8,local_ac)" identifier (argument_list "(local_a8,local_ac)" ( identifier , identifier ))) , (cast_expression "(ulonglong)uVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) )))) ;) (if_statement "if (local_9c == MagickFalse) break;" if (parenthesized_expression "(local_9c == MagickFalse)" ( (binary_expression "local_9c == MagickFalse" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar24 = image->rows;" (assignment_expression "uVar24 = image->rows" identifier = (field_expression "image->rows" identifier -> field_identifier)) ;) })) (expression_statement "local_c8 = local_c8 + 1;" (assignment_expression "local_c8 = local_c8 + 1" identifier = (binary_expression "local_c8 + 1" identifier + number_literal)) ;) (expression_statement "bVar39 = 0xfffffffe < local_ac;" (assignment_expression "bVar39 = 0xfffffffe < local_ac" identifier = (binary_expression "0xfffffffe < local_ac" number_literal < identifier)) ;) (expression_statement "local_ac = local_ac + 1;" (assignment_expression "local_ac = local_ac + 1" identifier = (binary_expression "local_ac + 1" identifier + number_literal)) ;) (expression_statement "local_a8 = local_a8 + (uint)bVar39;" (assignment_expression "local_a8 = local_a8 + (uint)bVar39" identifier = (binary_expression "local_a8 + (uint)bVar39" identifier + (cast_expression "(uint)bVar39" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }) while (parenthesized_expression "(local_c8 < (int)uVar24)" ( (binary_expression "local_c8 < (int)uVar24" identifier < (cast_expression "(int)uVar24" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (if_statement "if ((uVar12 & 0x2000) != 0) {\n        iVar20 = iVar20 - iVar16;\n        if (((iVar20 < 0) || ((int)image->colors <= iVar20)) &&\n           (iVar20 = 0, exception->severity != CorruptImageError)) {\n          ThrowMagickException\n                    (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,\n                     CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n        }\n        if (uVar18 != 0x10) {\n          pPVar34 = image->colormap + iVar20;\n          pPVar38 = local_a0;\n          for (iVar16 = 0x14; iVar16 != 0; iVar16 = iVar16 + -1) {\n            pPVar38->storage_class = pPVar34->storage_class;\n            pPVar34 = (PixelInfo *)((int)pPVar34 + (uint)bVar40 * -8 + 4);\n            pPVar38 = (PixelInfo *)((int)pPVar38 + (uint)bVar40 * -8 + 4);\n          }\n        }\n        TransparentPaintImage(image,local_a0,0.0,MagickFalse,exception);\n      }" if (parenthesized_expression "((uVar12 & 0x2000) != 0)" ( (binary_expression "(uVar12 & 0x2000) != 0" (parenthesized_expression "(uVar12 & 0x2000)" ( (binary_expression "uVar12 & 0x2000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        iVar20 = iVar20 - iVar16;\n        if (((iVar20 < 0) || ((int)image->colors <= iVar20)) &&\n           (iVar20 = 0, exception->severity != CorruptImageError)) {\n          ThrowMagickException\n                    (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,\n                     CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n        }\n        if (uVar18 != 0x10) {\n          pPVar34 = image->colormap + iVar20;\n          pPVar38 = local_a0;\n          for (iVar16 = 0x14; iVar16 != 0; iVar16 = iVar16 + -1) {\n            pPVar38->storage_class = pPVar34->storage_class;\n            pPVar34 = (PixelInfo *)((int)pPVar34 + (uint)bVar40 * -8 + 4);\n            pPVar38 = (PixelInfo *)((int)pPVar38 + (uint)bVar40 * -8 + 4);\n          }\n        }\n        TransparentPaintImage(image,local_a0,0.0,MagickFalse,exception);\n      }" { (expression_statement "iVar20 = iVar20 - iVar16;" (assignment_expression "iVar20 = iVar20 - iVar16" identifier = (binary_expression "iVar20 - iVar16" identifier - identifier)) ;) (if_statement "if (((iVar20 < 0) || ((int)image->colors <= iVar20)) &&\n           (iVar20 = 0, exception->severity != CorruptImageError)) {\n          ThrowMagickException\n                    (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,\n                     CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n        }" if (parenthesized_expression "(((iVar20 < 0) || ((int)image->colors <= iVar20)) &&\n           (iVar20 = 0, exception->severity != CorruptImageError))" ( (binary_expression "((iVar20 < 0) || ((int)image->colors <= iVar20)) &&\n           (iVar20 = 0, exception->severity != CorruptImageError)" (parenthesized_expression "((iVar20 < 0) || ((int)image->colors <= iVar20))" ( (binary_expression "(iVar20 < 0) || ((int)image->colors <= iVar20)" (parenthesized_expression "(iVar20 < 0)" ( (binary_expression "iVar20 < 0" identifier < number_literal) )) || (parenthesized_expression "((int)image->colors <= iVar20)" ( (binary_expression "(int)image->colors <= iVar20" (cast_expression "(int)image->colors" ( (type_descriptor "int" primitive_type) ) (field_expression "image->colors" identifier -> field_identifier)) <= identifier) ))) )) && (parenthesized_expression "(iVar20 = 0, exception->severity != CorruptImageError)" ( (comma_expression "iVar20 = 0, exception->severity != CorruptImageError" (assignment_expression "iVar20 = 0" identifier = number_literal) , (binary_expression "exception->severity != CorruptImageError" (field_expression "exception->severity" identifier -> field_identifier) != identifier)) ))) )) (compound_statement "{\n          ThrowMagickException\n                    (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,\n                     CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);\n        }" { (expression_statement "ThrowMagickException\n                    (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,\n                     CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename);" (call_expression "ThrowMagickException\n                    (exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,\n                     CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename)" identifier (argument_list "(exception,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,\n                     CorruptImageError,"InvalidColormapIndex","`%s\'",image->filename)" ( identifier , (string_literal ""./MagickCore/colormap-private.h"" " string_content ") , (string_literal ""ConstrainColormapIndex"" " string_content ") , number_literal , identifier , (string_literal ""InvalidColormapIndex"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (field_expression "image->filename" identifier -> field_identifier) ))) ;) })) (if_statement "if (uVar18 != 0x10) {\n          pPVar34 = image->colormap + iVar20;\n          pPVar38 = local_a0;\n          for (iVar16 = 0x14; iVar16 != 0; iVar16 = iVar16 + -1) {\n            pPVar38->storage_class = pPVar34->storage_class;\n            pPVar34 = (PixelInfo *)((int)pPVar34 + (uint)bVar40 * -8 + 4);\n            pPVar38 = (PixelInfo *)((int)pPVar38 + (uint)bVar40 * -8 + 4);\n          }\n        }" if (parenthesized_expression "(uVar18 != 0x10)" ( (binary_expression "uVar18 != 0x10" identifier != number_literal) )) (compound_statement "{\n          pPVar34 = image->colormap + iVar20;\n          pPVar38 = local_a0;\n          for (iVar16 = 0x14; iVar16 != 0; iVar16 = iVar16 + -1) {\n            pPVar38->storage_class = pPVar34->storage_class;\n            pPVar34 = (PixelInfo *)((int)pPVar34 + (uint)bVar40 * -8 + 4);\n            pPVar38 = (PixelInfo *)((int)pPVar38 + (uint)bVar40 * -8 + 4);\n          }\n        }" { (expression_statement "pPVar34 = image->colormap + iVar20;" (assignment_expression "pPVar34 = image->colormap + iVar20" identifier = (binary_expression "image->colormap + iVar20" (field_expression "image->colormap" identifier -> field_identifier) + identifier)) ;) (expression_statement "pPVar38 = local_a0;" (assignment_expression "pPVar38 = local_a0" identifier = identifier) ;) (for_statement "for (iVar16 = 0x14; iVar16 != 0; iVar16 = iVar16 + -1) {\n            pPVar38->storage_class = pPVar34->storage_class;\n            pPVar34 = (PixelInfo *)((int)pPVar34 + (uint)bVar40 * -8 + 4);\n            pPVar38 = (PixelInfo *)((int)pPVar38 + (uint)bVar40 * -8 + 4);\n          }" for ( (assignment_expression "iVar16 = 0x14" identifier = number_literal) ; (binary_expression "iVar16 != 0" identifier != number_literal) ; (assignment_expression "iVar16 = iVar16 + -1" identifier = (binary_expression "iVar16 + -1" identifier + number_literal)) ) (compound_statement "{\n            pPVar38->storage_class = pPVar34->storage_class;\n            pPVar34 = (PixelInfo *)((int)pPVar34 + (uint)bVar40 * -8 + 4);\n            pPVar38 = (PixelInfo *)((int)pPVar38 + (uint)bVar40 * -8 + 4);\n          }" { (expression_statement "pPVar38->storage_class = pPVar34->storage_class;" (assignment_expression "pPVar38->storage_class = pPVar34->storage_class" (field_expression "pPVar38->storage_class" identifier -> field_identifier) = (field_expression "pPVar34->storage_class" identifier -> field_identifier)) ;) (expression_statement "pPVar34 = (PixelInfo *)((int)pPVar34 + (uint)bVar40 * -8 + 4);" (assignment_expression "pPVar34 = (PixelInfo *)((int)pPVar34 + (uint)bVar40 * -8 + 4)" identifier = (cast_expression "(PixelInfo *)((int)pPVar34 + (uint)bVar40 * -8 + 4)" ( (type_descriptor "PixelInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pPVar34 + (uint)bVar40 * -8 + 4)" ( (binary_expression "(int)pPVar34 + (uint)bVar40 * -8 + 4" (binary_expression "(int)pPVar34 + (uint)bVar40 * -8" (cast_expression "(int)pPVar34" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar40 * -8" (cast_expression "(uint)bVar40" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pPVar38 = (PixelInfo *)((int)pPVar38 + (uint)bVar40 * -8 + 4);" (assignment_expression "pPVar38 = (PixelInfo *)((int)pPVar38 + (uint)bVar40 * -8 + 4)" identifier = (cast_expression "(PixelInfo *)((int)pPVar38 + (uint)bVar40 * -8 + 4)" ( (type_descriptor "PixelInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pPVar38 + (uint)bVar40 * -8 + 4)" ( (binary_expression "(int)pPVar38 + (uint)bVar40 * -8 + 4" (binary_expression "(int)pPVar38 + (uint)bVar40 * -8" (cast_expression "(int)pPVar38" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar40 * -8" (cast_expression "(uint)bVar40" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) })) })) (expression_statement "TransparentPaintImage(image,local_a0,0.0,MagickFalse,exception);" (call_expression "TransparentPaintImage(image,local_a0,0.0,MagickFalse,exception)" identifier (argument_list "(image,local_a0,0.0,MagickFalse,exception)" ( identifier , identifier , number_literal , identifier , identifier ))) ;) })) (expression_statement "RelinquishMagickMemory(__s);" (call_expression "RelinquishMagickMemory(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (if_statement "if (uVar19 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }" if (parenthesized_expression "(uVar19 == 0)" ( (binary_expression "uVar19 == 0" identifier == number_literal) )) (compound_statement "{\n        RelinquishMagickMemory(local_b0);\n      }" { (expression_statement "RelinquishMagickMemory(local_b0);" (call_expression "RelinquishMagickMemory(local_b0)" identifier (argument_list "(local_b0)" ( identifier ))) ;) })) (expression_statement "iVar16 = EOFBlob(image);" (assignment_expression "iVar16 = EOFBlob(image)" identifier = (call_expression "EOFBlob(image)" identifier (argument_list "(image)" ( identifier )))) ;) (if_statement "if (iVar16 != 0) {\n        piVar28 = __errno_location();\n        pcVar44 = GetExceptionMessage(*piVar28);\n        ThrowMagickException\n                  (exception,"coders/palm.c","ReadPALMImage",0x22e,CorruptImageError,\n                   "UnexpectedEndOfFile","\'%s\': %s");\n        DestroyString(pcVar44);\nLAB_0026266b:\n        CloseBlob(image);\n        if (local_9c == MagickFalse) goto LAB_00262f23;\n        pIVar22 = GetFirstImageInList(image);\n        goto LAB_002621b8;\n      }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n        piVar28 = __errno_location();\n        pcVar44 = GetExceptionMessage(*piVar28);\n        ThrowMagickException\n                  (exception,"coders/palm.c","ReadPALMImage",0x22e,CorruptImageError,\n                   "UnexpectedEndOfFile","\'%s\': %s");\n        DestroyString(pcVar44);\nLAB_0026266b:\n        CloseBlob(image);\n        if (local_9c == MagickFalse) goto LAB_00262f23;\n        pIVar22 = GetFirstImageInList(image);\n        goto LAB_002621b8;\n      }" { (expression_statement "piVar28 = __errno_location();" (assignment_expression "piVar28 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar44 = GetExceptionMessage(*piVar28);" (assignment_expression "pcVar44 = GetExceptionMessage(*piVar28)" identifier = (call_expression "GetExceptionMessage(*piVar28)" identifier (argument_list "(*piVar28)" ( (pointer_expression "*piVar28" * identifier) )))) ;) (expression_statement "ThrowMagickException\n                  (exception,"coders/palm.c","ReadPALMImage",0x22e,CorruptImageError,\n                   "UnexpectedEndOfFile","\'%s\': %s");" (call_expression "ThrowMagickException\n                  (exception,"coders/palm.c","ReadPALMImage",0x22e,CorruptImageError,\n                   "UnexpectedEndOfFile","\'%s\': %s")" identifier (argument_list "(exception,"coders/palm.c","ReadPALMImage",0x22e,CorruptImageError,\n                   "UnexpectedEndOfFile","\'%s\': %s")" ( identifier , (string_literal ""coders/palm.c"" " string_content ") , (string_literal ""ReadPALMImage"" " 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(pcVar44);" (call_expression "DestroyString(pcVar44)" identifier (argument_list "(pcVar44)" ( identifier ))) ;) (labeled_statement "LAB_0026266b:\n        CloseBlob(image);" statement_identifier : (expression_statement "CloseBlob(image);" (call_expression "CloseBlob(image)" identifier (argument_list "(image)" ( identifier ))) ;)) (if_statement "if (local_9c == MagickFalse) goto LAB_00262f23;" if (parenthesized_expression "(local_9c == MagickFalse)" ( (binary_expression "local_9c == MagickFalse" identifier == identifier) )) (goto_statement "goto LAB_00262f23;" goto statement_identifier ;)) (expression_statement "pIVar22 = GetFirstImageInList(image);" (assignment_expression "pIVar22 = GetFirstImageInList(image)" identifier = (call_expression "GetFirstImageInList(image)" identifier (argument_list "(image)" ( identifier )))) ;) (goto_statement "goto LAB_002621b8;" goto statement_identifier ;) })) (if_statement "if (((image_info->number_scenes != 0) &&\n          ((image_info->number_scenes + image_info->scene) - 1 <= image->scene)) || (uVar13 == 0))\n      goto LAB_0026266b;" if (parenthesized_expression "(((image_info->number_scenes != 0) &&\n          ((image_info->number_scenes + image_info->scene) - 1 <= image->scene)) || (uVar13 == 0))" ( (binary_expression "((image_info->number_scenes != 0) &&\n          ((image_info->number_scenes + image_info->scene) - 1 <= image->scene)) || (uVar13 == 0)" (parenthesized_expression "((image_info->number_scenes != 0) &&\n          ((image_info->number_scenes + image_info->scene) - 1 <= image->scene))" ( (binary_expression "(image_info->number_scenes != 0) &&\n          ((image_info->number_scenes + image_info->scene) - 1 <= image->scene)" (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 <= image->scene)" ( (binary_expression "(image_info->number_scenes + image_info->scene) - 1 <= image->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 "image->scene" identifier -> field_identifier)) ))) )) || (parenthesized_expression "(uVar13 == 0)" ( (binary_expression "uVar13 == 0" identifier == number_literal) ))) )) (goto_statement "goto LAB_0026266b;" goto statement_identifier ;)) (expression_statement "uVar17 = (uint)uVar13 * 4;" (assignment_expression "uVar17 = (uint)uVar13 * 4" identifier = (binary_expression "(uint)uVar13 * 4" (cast_expression "(uint)uVar13" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) ;) (expression_statement "bVar39 = CARRY4(local_94,uVar17);" (assignment_expression "bVar39 = CARRY4(local_94,uVar17)" identifier = (call_expression "CARRY4(local_94,uVar17)" identifier (argument_list "(local_94,uVar17)" ( identifier , identifier )))) ;) (expression_statement "local_94 = local_94 + uVar17;" (assignment_expression "local_94 = local_94 + uVar17" identifier = (binary_expression "local_94 + uVar17" identifier + identifier)) ;) (expression_statement "local_90 = local_90 + (uint)bVar39;" (assignment_expression "local_90 = local_90 + (uint)bVar39" identifier = (binary_expression "local_90 + (uint)bVar39" identifier + (cast_expression "(uint)bVar39" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "MVar42 = GetBlobSize(image);" (assignment_expression "MVar42 = GetBlobSize(image)" identifier = (call_expression "GetBlobSize(image)" identifier (argument_list "(image)" ( identifier )))) ;) (if_statement "if ((longlong)MVar42 <= CONCAT44(local_90,local_94)) {\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x23e;\n        goto LAB_0026218b;\n      }" if (parenthesized_expression "((longlong)MVar42 <= CONCAT44(local_90,local_94))" ( (binary_expression "(longlong)MVar42 <= CONCAT44(local_90,local_94)" (cast_expression "(longlong)MVar42" ( (type_descriptor "longlong" type_identifier) ) identifier) <= (call_expression "CONCAT44(local_90,local_94)" identifier (argument_list "(local_90,local_94)" ( identifier , identifier )))) )) (compound_statement "{\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x23e;\n        goto LAB_0026218b;\n      }" { (expression_statement "pcVar44 = "ImproperImageHeader";" (assignment_expression "pcVar44 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "severity = CorruptImageError;" (assignment_expression "severity = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar43 = 0x23e;" (assignment_expression "sVar43 = 0x23e" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "MVar41 = SeekBlob(image,CONCAT44(local_90,local_94),0);" (assignment_expression "MVar41 = SeekBlob(image,CONCAT44(local_90,local_94),0)" identifier = (call_expression "SeekBlob(image,CONCAT44(local_90,local_94),0)" identifier (argument_list "(image,CONCAT44(local_90,local_94),0)" ( identifier , (call_expression "CONCAT44(local_90,local_94)" identifier (argument_list "(local_90,local_94)" ( identifier , identifier ))) , number_literal )))) ;) (if_statement "if (MVar41 != CONCAT44(local_90,local_94)) {\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x242;\n        goto LAB_0026218b;\n      }" if (parenthesized_expression "(MVar41 != CONCAT44(local_90,local_94))" ( (binary_expression "MVar41 != CONCAT44(local_90,local_94)" identifier != (call_expression "CONCAT44(local_90,local_94)" identifier (argument_list "(local_90,local_94)" ( identifier , identifier )))) )) (compound_statement "{\n        pcVar44 = "ImproperImageHeader";\n        severity = CorruptImageError;\n        sVar43 = 0x242;\n        goto LAB_0026218b;\n      }" { (expression_statement "pcVar44 = "ImproperImageHeader";" (assignment_expression "pcVar44 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "severity = CorruptImageError;" (assignment_expression "severity = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar43 = 0x242;" (assignment_expression "sVar43 = 0x242" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "AcquireNextImage(image_info,image,exception);" (call_expression "AcquireNextImage(image_info,image,exception)" identifier (argument_list "(image_info,image,exception)" ( identifier , identifier , identifier ))) ;) (expression_statement "pIVar22 = GetNextImageInList(image);" (assignment_expression "pIVar22 = GetNextImageInList(image)" identifier = (call_expression "GetNextImageInList(image)" identifier (argument_list "(image)" ( identifier )))) ;) (if_statement "if (pIVar22 == (Image *)0x0) break;" if (parenthesized_expression "(pIVar22 == (Image *)0x0)" ( (binary_expression "pIVar22 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "image = SyncNextImageInList(image);" (assignment_expression "image = SyncNextImageInList(image)" identifier = (call_expression "SyncNextImageInList(image)" identifier (argument_list "(image)" ( identifier )))) ;) (expression_statement "MVar42 = GetBlobSize(image);" (assignment_expression "MVar42 = GetBlobSize(image)" identifier = (call_expression "GetBlobSize(image)" identifier (argument_list "(image)" ( identifier )))) ;) (expression_statement "MVar41 = TellBlob(image);" (assignment_expression "MVar41 = TellBlob(image)" identifier = (call_expression "TellBlob(image)" identifier (argument_list "(image)" ( identifier )))) ;) (expression_statement "MVar15 = SetImageProgress(image,"Load/Images",MVar41,MVar42);" (assignment_expression "MVar15 = SetImageProgress(image,"Load/Images",MVar41,MVar42)" identifier = (call_expression "SetImageProgress(image,"Load/Images",MVar41,MVar42)" identifier (argument_list "(image,"Load/Images",MVar41,MVar42)" ( identifier , (string_literal ""Load/Images"" " string_content ") , identifier , identifier )))) ;) }) while (parenthesized_expression "(MVar15 != MagickFalse)" ( (binary_expression "MVar15 != MagickFalse" identifier != identifier) )) ;) (expression_statement "CloseBlob(image);" (call_expression "CloseBlob(image)" identifier (argument_list "(image)" ( identifier ))) ;) (labeled_statement "LAB_00262f23:\n    pIVar22 = DestroyImageList(image);" statement_identifier : (expression_statement "pIVar22 = DestroyImageList(image);" (assignment_expression "pIVar22 = DestroyImageList(image)" identifier = (call_expression "DestroyImageList(image)" identifier (argument_list "(image)" ( identifier )))) ;)) }))) (labeled_statement "LAB_002621b8:\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return pIVar22;\n  }" statement_identifier : (if_statement "if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return pIVar22;\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 pIVar22;\n  }" { (return_statement "return pIVar22;" return identifier ;) }))) comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "undefined4 * FUN_00262010(int param_1,int *param_2)\n\n{\n  double dVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  ushort uVar10;\n  float fVar11;\n  float fVar12;\n  byte bVar13;\n  ushort uVar14;\n  ushort uVar15;\n  ushort uVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  uint uVar19;\n  uint uVar20;\n  uint uVar21;\n  int iVar22;\n  ushort *__s;\n  int iVar23;\n  undefined4 *puVar24;\n  double *pdVar25;\n  uint uVar26;\n  int iVar27;\n  byte *pbVar28;\n  size_t sVar29;\n  int *piVar30;\n  int iVar31;\n  ushort *puVar32;\n  int iVar33;\n  int iVar34;\n  uint uVar35;\n  ushort *puVar36;\n  byte *pbVar37;\n  size_t __n;\n  uint uVar38;\n  undefined4 *puVar39;\n  int in_GS_OFFSET;\n  bool bVar40;\n  byte bVar41;\n  undefined8 uVar42;\n  undefined8 uVar43;\n  longlong lVar44;\n  undefined4 uVar45;\n  undefined4 uVar46;\n  char *pcVar47;\n  int local_10c;\n  int local_f4;\n  int local_c8;\n  void *local_b0;\n  uint local_ac;\n  int local_a8;\n  undefined4 *local_a0;\n  int local_9c;\n  uint local_94;\n  int local_90;\n  undefined4 local_70 [8];\n  double local_50;\n  double local_48;\n  double local_40;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar41 = 0;\n  uStack_14 = 0x262019;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/palm.c",0x124,"ReadPALMImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,\n                  "ReadPALMImage");\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/palm.c","ReadPALMImage",0x127,&DAT_002f75ae,param_1 + 0x21f0);\n  }\n  if (param_2 == (int *)0x0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage");\n  }\n  if (param_2[7] != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage");\n  }\n  puVar17 = (undefined4 *)AcquireImage(param_1,param_2);\n  iVar18 = OpenBlob(param_1,puVar17,2,param_2);\n  local_94 = 0;\n  local_90 = 0;\n  if (iVar18 == 0) {\n    puVar24 = (undefined4 *)0x0;\n    DestroyImageList(puVar17);\n  }\n  else {\n    do {\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[6] = uVar19 & 0xffff;\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[7] = uVar19 & 0xffff;\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((puVar17[6] == 0) || (puVar17[7] == 0)) {\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }\n      iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (iVar18 == 0) goto LAB_00262f23;\n      SetImageBackgroundColor(puVar17,param_2);\n      uVar19 = ReadBlobMSBShort(puVar17);\n      uVar19 = uVar19 & 0xffff;\n      uVar14 = ReadBlobMSBShort(puVar17);\n      uVar20 = ReadBlobByte(puVar17);\n      if ((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)) {\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar21 = ReadBlobByte(puVar17);\n      if (2 < uVar21) {\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar15 = ReadBlobMSBShort(puVar17);\n      iVar18 = ReadBlobByte(puVar17);\n      uVar21 = ReadBlobByte(puVar17);\n      if ((uVar21 != 0xff) && (1 < uVar21)) {\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(puVar17);\n      if (uVar20 == 0x10) {\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }\n      else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }\nLAB_002622bf:\n      local_a0 = local_70;\n      if (*(int *)(param_1 + 0x1bc) != 0) {\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (local_9c == 0) goto LAB_00262f23;\n      uVar26 = puVar17[6] * 2;\n      if ((uint)(puVar17[6] * 2) < uVar19) {\n        uVar26 = uVar19;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar26,1);\n      if (__s == (ushort *)0x0) {\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar26);\n      local_b0 = (void *)0x0;\n      if (uVar21 == 0) {\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }\n      iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1;\n      if (0 < (int)puVar17[7]) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }\n      if ((uVar14 & 0x2000) != 0) {\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar21 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }\n      if (((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)) goto LAB_0026266b;\n      uVar19 = (uint)uVar15 * 4;\n      bVar40 = CARRY4(local_94,uVar19);\n      local_94 = local_94 + uVar19;\n      local_90 = local_90 + (uint)bVar40;\n      lVar44 = GetBlobSize(puVar17);\n      if (lVar44 <= CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }\n      lVar44 = SeekBlob(puVar17,local_94,local_90,0);\n      if (lVar44 != CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(param_1,puVar17,param_2);\n      iVar18 = GetNextImageInList(puVar17);\n      if (iVar18 == 0) break;\n      puVar17 = (undefined4 *)SyncNextImageInList(puVar17);\n      uVar42 = GetBlobSize(puVar17);\n      uVar43 = TellBlob(puVar17);\n      iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42);\n    } while (iVar18 != 0);\n    CloseBlob(puVar17);\nLAB_00262f23:\n    puVar24 = (undefined4 *)DestroyImageList(puVar17);\n  }\nLAB_002621b8:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_002decd0();\n  }\n  return puVar24;\n}\n\n" (function_definition "undefined4 * FUN_00262010(int param_1,int *param_2)\n\n{\n  double dVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  ushort uVar10;\n  float fVar11;\n  float fVar12;\n  byte bVar13;\n  ushort uVar14;\n  ushort uVar15;\n  ushort uVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  uint uVar19;\n  uint uVar20;\n  uint uVar21;\n  int iVar22;\n  ushort *__s;\n  int iVar23;\n  undefined4 *puVar24;\n  double *pdVar25;\n  uint uVar26;\n  int iVar27;\n  byte *pbVar28;\n  size_t sVar29;\n  int *piVar30;\n  int iVar31;\n  ushort *puVar32;\n  int iVar33;\n  int iVar34;\n  uint uVar35;\n  ushort *puVar36;\n  byte *pbVar37;\n  size_t __n;\n  uint uVar38;\n  undefined4 *puVar39;\n  int in_GS_OFFSET;\n  bool bVar40;\n  byte bVar41;\n  undefined8 uVar42;\n  undefined8 uVar43;\n  longlong lVar44;\n  undefined4 uVar45;\n  undefined4 uVar46;\n  char *pcVar47;\n  int local_10c;\n  int local_f4;\n  int local_c8;\n  void *local_b0;\n  uint local_ac;\n  int local_a8;\n  undefined4 *local_a0;\n  int local_9c;\n  uint local_94;\n  int local_90;\n  undefined4 local_70 [8];\n  double local_50;\n  double local_48;\n  double local_40;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar41 = 0;\n  uStack_14 = 0x262019;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/palm.c",0x124,"ReadPALMImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,\n                  "ReadPALMImage");\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/palm.c","ReadPALMImage",0x127,&DAT_002f75ae,param_1 + 0x21f0);\n  }\n  if (param_2 == (int *)0x0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage");\n  }\n  if (param_2[7] != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage");\n  }\n  puVar17 = (undefined4 *)AcquireImage(param_1,param_2);\n  iVar18 = OpenBlob(param_1,puVar17,2,param_2);\n  local_94 = 0;\n  local_90 = 0;\n  if (iVar18 == 0) {\n    puVar24 = (undefined4 *)0x0;\n    DestroyImageList(puVar17);\n  }\n  else {\n    do {\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[6] = uVar19 & 0xffff;\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[7] = uVar19 & 0xffff;\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((puVar17[6] == 0) || (puVar17[7] == 0)) {\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }\n      iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (iVar18 == 0) goto LAB_00262f23;\n      SetImageBackgroundColor(puVar17,param_2);\n      uVar19 = ReadBlobMSBShort(puVar17);\n      uVar19 = uVar19 & 0xffff;\n      uVar14 = ReadBlobMSBShort(puVar17);\n      uVar20 = ReadBlobByte(puVar17);\n      if ((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)) {\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar21 = ReadBlobByte(puVar17);\n      if (2 < uVar21) {\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar15 = ReadBlobMSBShort(puVar17);\n      iVar18 = ReadBlobByte(puVar17);\n      uVar21 = ReadBlobByte(puVar17);\n      if ((uVar21 != 0xff) && (1 < uVar21)) {\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(puVar17);\n      if (uVar20 == 0x10) {\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }\n      else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }\nLAB_002622bf:\n      local_a0 = local_70;\n      if (*(int *)(param_1 + 0x1bc) != 0) {\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (local_9c == 0) goto LAB_00262f23;\n      uVar26 = puVar17[6] * 2;\n      if ((uint)(puVar17[6] * 2) < uVar19) {\n        uVar26 = uVar19;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar26,1);\n      if (__s == (ushort *)0x0) {\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar26);\n      local_b0 = (void *)0x0;\n      if (uVar21 == 0) {\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }\n      iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1;\n      if (0 < (int)puVar17[7]) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }\n      if ((uVar14 & 0x2000) != 0) {\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar21 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }\n      if (((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)) goto LAB_0026266b;\n      uVar19 = (uint)uVar15 * 4;\n      bVar40 = CARRY4(local_94,uVar19);\n      local_94 = local_94 + uVar19;\n      local_90 = local_90 + (uint)bVar40;\n      lVar44 = GetBlobSize(puVar17);\n      if (lVar44 <= CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }\n      lVar44 = SeekBlob(puVar17,local_94,local_90,0);\n      if (lVar44 != CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(param_1,puVar17,param_2);\n      iVar18 = GetNextImageInList(puVar17);\n      if (iVar18 == 0) break;\n      puVar17 = (undefined4 *)SyncNextImageInList(puVar17);\n      uVar42 = GetBlobSize(puVar17);\n      uVar43 = TellBlob(puVar17);\n      iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42);\n    } while (iVar18 != 0);\n    CloseBlob(puVar17);\nLAB_00262f23:\n    puVar24 = (undefined4 *)DestroyImageList(puVar17);\n  }\nLAB_002621b8:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_002decd0();\n  }\n  return puVar24;\n}" type_identifier (pointer_declarator "* FUN_00262010(int param_1,int *param_2)" * (function_declarator "FUN_00262010(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 (pointer_declarator "*param_2" * identifier)) )))) (compound_statement "{\n  double dVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  ushort uVar10;\n  float fVar11;\n  float fVar12;\n  byte bVar13;\n  ushort uVar14;\n  ushort uVar15;\n  ushort uVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  uint uVar19;\n  uint uVar20;\n  uint uVar21;\n  int iVar22;\n  ushort *__s;\n  int iVar23;\n  undefined4 *puVar24;\n  double *pdVar25;\n  uint uVar26;\n  int iVar27;\n  byte *pbVar28;\n  size_t sVar29;\n  int *piVar30;\n  int iVar31;\n  ushort *puVar32;\n  int iVar33;\n  int iVar34;\n  uint uVar35;\n  ushort *puVar36;\n  byte *pbVar37;\n  size_t __n;\n  uint uVar38;\n  undefined4 *puVar39;\n  int in_GS_OFFSET;\n  bool bVar40;\n  byte bVar41;\n  undefined8 uVar42;\n  undefined8 uVar43;\n  longlong lVar44;\n  undefined4 uVar45;\n  undefined4 uVar46;\n  char *pcVar47;\n  int local_10c;\n  int local_f4;\n  int local_c8;\n  void *local_b0;\n  uint local_ac;\n  int local_a8;\n  undefined4 *local_a0;\n  int local_9c;\n  uint local_94;\n  int local_90;\n  undefined4 local_70 [8];\n  double local_50;\n  double local_48;\n  double local_40;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar41 = 0;\n  uStack_14 = 0x262019;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/palm.c",0x124,"ReadPALMImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,\n                  "ReadPALMImage");\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/palm.c","ReadPALMImage",0x127,&DAT_002f75ae,param_1 + 0x21f0);\n  }\n  if (param_2 == (int *)0x0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage");\n  }\n  if (param_2[7] != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage");\n  }\n  puVar17 = (undefined4 *)AcquireImage(param_1,param_2);\n  iVar18 = OpenBlob(param_1,puVar17,2,param_2);\n  local_94 = 0;\n  local_90 = 0;\n  if (iVar18 == 0) {\n    puVar24 = (undefined4 *)0x0;\n    DestroyImageList(puVar17);\n  }\n  else {\n    do {\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[6] = uVar19 & 0xffff;\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[7] = uVar19 & 0xffff;\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((puVar17[6] == 0) || (puVar17[7] == 0)) {\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }\n      iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (iVar18 == 0) goto LAB_00262f23;\n      SetImageBackgroundColor(puVar17,param_2);\n      uVar19 = ReadBlobMSBShort(puVar17);\n      uVar19 = uVar19 & 0xffff;\n      uVar14 = ReadBlobMSBShort(puVar17);\n      uVar20 = ReadBlobByte(puVar17);\n      if ((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)) {\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar21 = ReadBlobByte(puVar17);\n      if (2 < uVar21) {\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar15 = ReadBlobMSBShort(puVar17);\n      iVar18 = ReadBlobByte(puVar17);\n      uVar21 = ReadBlobByte(puVar17);\n      if ((uVar21 != 0xff) && (1 < uVar21)) {\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(puVar17);\n      if (uVar20 == 0x10) {\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }\n      else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }\nLAB_002622bf:\n      local_a0 = local_70;\n      if (*(int *)(param_1 + 0x1bc) != 0) {\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (local_9c == 0) goto LAB_00262f23;\n      uVar26 = puVar17[6] * 2;\n      if ((uint)(puVar17[6] * 2) < uVar19) {\n        uVar26 = uVar19;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar26,1);\n      if (__s == (ushort *)0x0) {\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar26);\n      local_b0 = (void *)0x0;\n      if (uVar21 == 0) {\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }\n      iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1;\n      if (0 < (int)puVar17[7]) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }\n      if ((uVar14 & 0x2000) != 0) {\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar21 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }\n      if (((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)) goto LAB_0026266b;\n      uVar19 = (uint)uVar15 * 4;\n      bVar40 = CARRY4(local_94,uVar19);\n      local_94 = local_94 + uVar19;\n      local_90 = local_90 + (uint)bVar40;\n      lVar44 = GetBlobSize(puVar17);\n      if (lVar44 <= CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }\n      lVar44 = SeekBlob(puVar17,local_94,local_90,0);\n      if (lVar44 != CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(param_1,puVar17,param_2);\n      iVar18 = GetNextImageInList(puVar17);\n      if (iVar18 == 0) break;\n      puVar17 = (undefined4 *)SyncNextImageInList(puVar17);\n      uVar42 = GetBlobSize(puVar17);\n      uVar43 = TellBlob(puVar17);\n      iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42);\n    } while (iVar18 != 0);\n    CloseBlob(puVar17);\nLAB_00262f23:\n    puVar24 = (undefined4 *)DestroyImageList(puVar17);\n  }\nLAB_002621b8:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_002decd0();\n  }\n  return puVar24;\n}" { (declaration "double dVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "ushort uVar10;" type_identifier identifier ;) (declaration "float fVar11;" primitive_type identifier ;) (declaration "float fVar12;" primitive_type identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "ushort uVar14;" type_identifier identifier ;) (declaration "ushort uVar15;" type_identifier identifier ;) (declaration "ushort uVar16;" type_identifier identifier ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "ushort *__s;" type_identifier (pointer_declarator "*__s" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "undefined4 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "double *pdVar25;" primitive_type (pointer_declarator "*pdVar25" * identifier) ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "byte *pbVar28;" type_identifier (pointer_declarator "*pbVar28" * identifier) ;) (declaration "size_t sVar29;" primitive_type identifier ;) (declaration "int *piVar30;" primitive_type (pointer_declarator "*piVar30" * identifier) ;) (declaration "int iVar31;" primitive_type identifier ;) (declaration "ushort *puVar32;" type_identifier (pointer_declarator "*puVar32" * identifier) ;) (declaration "int iVar33;" primitive_type identifier ;) (declaration "int iVar34;" primitive_type identifier ;) (declaration "uint uVar35;" type_identifier identifier ;) (declaration "ushort *puVar36;" type_identifier (pointer_declarator "*puVar36" * identifier) ;) (declaration "byte *pbVar37;" type_identifier (pointer_declarator "*pbVar37" * identifier) ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "uint uVar38;" type_identifier identifier ;) (declaration "undefined4 *puVar39;" type_identifier (pointer_declarator "*puVar39" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar40;" primitive_type identifier ;) (declaration "byte bVar41;" type_identifier identifier ;) (declaration "undefined8 uVar42;" type_identifier identifier ;) (declaration "undefined8 uVar43;" type_identifier identifier ;) (declaration "longlong lVar44;" type_identifier identifier ;) (declaration "undefined4 uVar45;" type_identifier identifier ;) (declaration "undefined4 uVar46;" type_identifier identifier ;) (declaration "char *pcVar47;" primitive_type (pointer_declarator "*pcVar47" * identifier) ;) (declaration "int local_10c;" primitive_type identifier ;) (declaration "int local_f4;" primitive_type identifier ;) (declaration "int local_c8;" primitive_type identifier ;) (declaration "void *local_b0;" primitive_type (pointer_declarator "*local_b0" * identifier) ;) (declaration "uint local_ac;" type_identifier identifier ;) (declaration "int local_a8;" primitive_type identifier ;) (declaration "undefined4 *local_a0;" type_identifier (pointer_declarator "*local_a0" * identifier) ;) (declaration "int local_9c;" primitive_type identifier ;) (declaration "uint local_94;" type_identifier identifier ;) (declaration "int local_90;" primitive_type identifier ;) (declaration "undefined4 local_70 [8];" type_identifier (array_declarator "local_70 [8]" identifier [ number_literal ]) ;) (declaration "double local_50;" primitive_type identifier ;) (declaration "double local_48;" primitive_type identifier ;) (declaration "double local_40;" primitive_type identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar41 = 0;" (assignment_expression "bVar41 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x262019;" (assignment_expression "uStack_14 = 0x262019" 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/palm.c",0x124,"ReadPALMImage");\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/palm.c",0x124,"ReadPALMImage");\n  }" { (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","coders/palm.c",0x124,"ReadPALMImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","coders/palm.c",0x124,"ReadPALMImage")" identifier (argument_list "("image_info != (const ImageInfo *) NULL","coders/palm.c",0x124,"ReadPALMImage")" ( (string_literal ""image_info != (const ImageInfo *) NULL"" " string_content ") , (string_literal ""coders/palm.c"" " string_content ") , number_literal , (string_literal ""ReadPALMImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,\n                  "ReadPALMImage");\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/palm.c",0x125,\n                  "ReadPALMImage");\n  }" { (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,\n                  "ReadPALMImage");" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,\n                  "ReadPALMImage")" identifier (argument_list "("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,\n                  "ReadPALMImage")" ( (string_literal ""image_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/palm.c"" " string_content ") , number_literal , (string_literal ""ReadPALMImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/palm.c","ReadPALMImage",0x127,&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/palm.c","ReadPALMImage",0x127,&DAT_002f75ae,param_1 + 0x21f0);\n  }" { (expression_statement "LogMagickEvent(0x8000,"coders/palm.c","ReadPALMImage",0x127,&DAT_002f75ae,param_1 + 0x21f0);" (call_expression "LogMagickEvent(0x8000,"coders/palm.c","ReadPALMImage",0x127,&DAT_002f75ae,param_1 + 0x21f0)" identifier (argument_list "(0x8000,"coders/palm.c","ReadPALMImage",0x127,&DAT_002f75ae,param_1 + 0x21f0)" ( number_literal , (string_literal ""coders/palm.c"" " string_content ") , (string_literal ""ReadPALMImage"" " string_content ") , number_literal , (pointer_expression "&DAT_002f75ae" & identifier) , (binary_expression "param_1 + 0x21f0" identifier + number_literal) ))) ;) })) (if_statement "if (param_2 == (int *)0x0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage");\n  }" if (parenthesized_expression "(param_2 == (int *)0x0)" ( (binary_expression "param_2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage");\n  }" { (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage")" identifier (argument_list "("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage")" ( (string_literal ""exception != (ExceptionInfo *) NULL"" " string_content ") , (string_literal ""coders/palm.c"" " string_content ") , number_literal , (string_literal ""ReadPALMImage"" " string_content ") ))) ;) })) (if_statement "if (param_2[7] != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage");\n  }" if (parenthesized_expression "(param_2[7] != -0x54535255)" ( (binary_expression "param_2[7] != -0x54535255" (subscript_expression "param_2[7]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage");\n  }" { (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage");" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage")" identifier (argument_list "("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage")" ( (string_literal ""exception->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/palm.c"" " string_content ") , number_literal , (string_literal ""ReadPALMImage"" " string_content ") ))) ;) })) (expression_statement "puVar17 = (undefined4 *)AcquireImage(param_1,param_2);" (assignment_expression "puVar17 = (undefined4 *)AcquireImage(param_1,param_2)" identifier = (cast_expression "(undefined4 *)AcquireImage(param_1,param_2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireImage(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier ))))) ;) (expression_statement "iVar18 = OpenBlob(param_1,puVar17,2,param_2);" (assignment_expression "iVar18 = OpenBlob(param_1,puVar17,2,param_2)" identifier = (call_expression "OpenBlob(param_1,puVar17,2,param_2)" identifier (argument_list "(param_1,puVar17,2,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (if_statement "if (iVar18 == 0) {\n    puVar24 = (undefined4 *)0x0;\n    DestroyImageList(puVar17);\n  }\n  else {\n    do {\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[6] = uVar19 & 0xffff;\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[7] = uVar19 & 0xffff;\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((puVar17[6] == 0) || (puVar17[7] == 0)) {\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }\n      iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (iVar18 == 0) goto LAB_00262f23;\n      SetImageBackgroundColor(puVar17,param_2);\n      uVar19 = ReadBlobMSBShort(puVar17);\n      uVar19 = uVar19 & 0xffff;\n      uVar14 = ReadBlobMSBShort(puVar17);\n      uVar20 = ReadBlobByte(puVar17);\n      if ((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)) {\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar21 = ReadBlobByte(puVar17);\n      if (2 < uVar21) {\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar15 = ReadBlobMSBShort(puVar17);\n      iVar18 = ReadBlobByte(puVar17);\n      uVar21 = ReadBlobByte(puVar17);\n      if ((uVar21 != 0xff) && (1 < uVar21)) {\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(puVar17);\n      if (uVar20 == 0x10) {\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }\n      else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }\nLAB_002622bf:\n      local_a0 = local_70;\n      if (*(int *)(param_1 + 0x1bc) != 0) {\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (local_9c == 0) goto LAB_00262f23;\n      uVar26 = puVar17[6] * 2;\n      if ((uint)(puVar17[6] * 2) < uVar19) {\n        uVar26 = uVar19;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar26,1);\n      if (__s == (ushort *)0x0) {\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar26);\n      local_b0 = (void *)0x0;\n      if (uVar21 == 0) {\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }\n      iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1;\n      if (0 < (int)puVar17[7]) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }\n      if ((uVar14 & 0x2000) != 0) {\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar21 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }\n      if (((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)) goto LAB_0026266b;\n      uVar19 = (uint)uVar15 * 4;\n      bVar40 = CARRY4(local_94,uVar19);\n      local_94 = local_94 + uVar19;\n      local_90 = local_90 + (uint)bVar40;\n      lVar44 = GetBlobSize(puVar17);\n      if (lVar44 <= CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }\n      lVar44 = SeekBlob(puVar17,local_94,local_90,0);\n      if (lVar44 != CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(param_1,puVar17,param_2);\n      iVar18 = GetNextImageInList(puVar17);\n      if (iVar18 == 0) break;\n      puVar17 = (undefined4 *)SyncNextImageInList(puVar17);\n      uVar42 = GetBlobSize(puVar17);\n      uVar43 = TellBlob(puVar17);\n      iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42);\n    } while (iVar18 != 0);\n    CloseBlob(puVar17);\nLAB_00262f23:\n    puVar24 = (undefined4 *)DestroyImageList(puVar17);\n  }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n    puVar24 = (undefined4 *)0x0;\n    DestroyImageList(puVar17);\n  }" { (expression_statement "puVar24 = (undefined4 *)0x0;" (assignment_expression "puVar24 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "DestroyImageList(puVar17);" (call_expression "DestroyImageList(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;) }) (else_clause "else {\n    do {\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[6] = uVar19 & 0xffff;\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[7] = uVar19 & 0xffff;\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((puVar17[6] == 0) || (puVar17[7] == 0)) {\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }\n      iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (iVar18 == 0) goto LAB_00262f23;\n      SetImageBackgroundColor(puVar17,param_2);\n      uVar19 = ReadBlobMSBShort(puVar17);\n      uVar19 = uVar19 & 0xffff;\n      uVar14 = ReadBlobMSBShort(puVar17);\n      uVar20 = ReadBlobByte(puVar17);\n      if ((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)) {\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar21 = ReadBlobByte(puVar17);\n      if (2 < uVar21) {\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar15 = ReadBlobMSBShort(puVar17);\n      iVar18 = ReadBlobByte(puVar17);\n      uVar21 = ReadBlobByte(puVar17);\n      if ((uVar21 != 0xff) && (1 < uVar21)) {\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(puVar17);\n      if (uVar20 == 0x10) {\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }\n      else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }\nLAB_002622bf:\n      local_a0 = local_70;\n      if (*(int *)(param_1 + 0x1bc) != 0) {\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (local_9c == 0) goto LAB_00262f23;\n      uVar26 = puVar17[6] * 2;\n      if ((uint)(puVar17[6] * 2) < uVar19) {\n        uVar26 = uVar19;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar26,1);\n      if (__s == (ushort *)0x0) {\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar26);\n      local_b0 = (void *)0x0;\n      if (uVar21 == 0) {\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }\n      iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1;\n      if (0 < (int)puVar17[7]) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }\n      if ((uVar14 & 0x2000) != 0) {\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar21 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }\n      if (((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)) goto LAB_0026266b;\n      uVar19 = (uint)uVar15 * 4;\n      bVar40 = CARRY4(local_94,uVar19);\n      local_94 = local_94 + uVar19;\n      local_90 = local_90 + (uint)bVar40;\n      lVar44 = GetBlobSize(puVar17);\n      if (lVar44 <= CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }\n      lVar44 = SeekBlob(puVar17,local_94,local_90,0);\n      if (lVar44 != CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(param_1,puVar17,param_2);\n      iVar18 = GetNextImageInList(puVar17);\n      if (iVar18 == 0) break;\n      puVar17 = (undefined4 *)SyncNextImageInList(puVar17);\n      uVar42 = GetBlobSize(puVar17);\n      uVar43 = TellBlob(puVar17);\n      iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42);\n    } while (iVar18 != 0);\n    CloseBlob(puVar17);\nLAB_00262f23:\n    puVar24 = (undefined4 *)DestroyImageList(puVar17);\n  }" else (compound_statement "{\n    do {\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[6] = uVar19 & 0xffff;\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[7] = uVar19 & 0xffff;\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((puVar17[6] == 0) || (puVar17[7] == 0)) {\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }\n      iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (iVar18 == 0) goto LAB_00262f23;\n      SetImageBackgroundColor(puVar17,param_2);\n      uVar19 = ReadBlobMSBShort(puVar17);\n      uVar19 = uVar19 & 0xffff;\n      uVar14 = ReadBlobMSBShort(puVar17);\n      uVar20 = ReadBlobByte(puVar17);\n      if ((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)) {\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar21 = ReadBlobByte(puVar17);\n      if (2 < uVar21) {\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar15 = ReadBlobMSBShort(puVar17);\n      iVar18 = ReadBlobByte(puVar17);\n      uVar21 = ReadBlobByte(puVar17);\n      if ((uVar21 != 0xff) && (1 < uVar21)) {\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(puVar17);\n      if (uVar20 == 0x10) {\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }\n      else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }\nLAB_002622bf:\n      local_a0 = local_70;\n      if (*(int *)(param_1 + 0x1bc) != 0) {\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (local_9c == 0) goto LAB_00262f23;\n      uVar26 = puVar17[6] * 2;\n      if ((uint)(puVar17[6] * 2) < uVar19) {\n        uVar26 = uVar19;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar26,1);\n      if (__s == (ushort *)0x0) {\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar26);\n      local_b0 = (void *)0x0;\n      if (uVar21 == 0) {\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }\n      iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1;\n      if (0 < (int)puVar17[7]) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }\n      if ((uVar14 & 0x2000) != 0) {\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar21 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }\n      if (((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)) goto LAB_0026266b;\n      uVar19 = (uint)uVar15 * 4;\n      bVar40 = CARRY4(local_94,uVar19);\n      local_94 = local_94 + uVar19;\n      local_90 = local_90 + (uint)bVar40;\n      lVar44 = GetBlobSize(puVar17);\n      if (lVar44 <= CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }\n      lVar44 = SeekBlob(puVar17,local_94,local_90,0);\n      if (lVar44 != CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(param_1,puVar17,param_2);\n      iVar18 = GetNextImageInList(puVar17);\n      if (iVar18 == 0) break;\n      puVar17 = (undefined4 *)SyncNextImageInList(puVar17);\n      uVar42 = GetBlobSize(puVar17);\n      uVar43 = TellBlob(puVar17);\n      iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42);\n    } while (iVar18 != 0);\n    CloseBlob(puVar17);\nLAB_00262f23:\n    puVar24 = (undefined4 *)DestroyImageList(puVar17);\n  }" { (do_statement "do {\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[6] = uVar19 & 0xffff;\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[7] = uVar19 & 0xffff;\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((puVar17[6] == 0) || (puVar17[7] == 0)) {\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }\n      iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (iVar18 == 0) goto LAB_00262f23;\n      SetImageBackgroundColor(puVar17,param_2);\n      uVar19 = ReadBlobMSBShort(puVar17);\n      uVar19 = uVar19 & 0xffff;\n      uVar14 = ReadBlobMSBShort(puVar17);\n      uVar20 = ReadBlobByte(puVar17);\n      if ((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)) {\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar21 = ReadBlobByte(puVar17);\n      if (2 < uVar21) {\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar15 = ReadBlobMSBShort(puVar17);\n      iVar18 = ReadBlobByte(puVar17);\n      uVar21 = ReadBlobByte(puVar17);\n      if ((uVar21 != 0xff) && (1 < uVar21)) {\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(puVar17);\n      if (uVar20 == 0x10) {\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }\n      else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }\nLAB_002622bf:\n      local_a0 = local_70;\n      if (*(int *)(param_1 + 0x1bc) != 0) {\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (local_9c == 0) goto LAB_00262f23;\n      uVar26 = puVar17[6] * 2;\n      if ((uint)(puVar17[6] * 2) < uVar19) {\n        uVar26 = uVar19;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar26,1);\n      if (__s == (ushort *)0x0) {\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar26);\n      local_b0 = (void *)0x0;\n      if (uVar21 == 0) {\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }\n      iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1;\n      if (0 < (int)puVar17[7]) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }\n      if ((uVar14 & 0x2000) != 0) {\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar21 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }\n      if (((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)) goto LAB_0026266b;\n      uVar19 = (uint)uVar15 * 4;\n      bVar40 = CARRY4(local_94,uVar19);\n      local_94 = local_94 + uVar19;\n      local_90 = local_90 + (uint)bVar40;\n      lVar44 = GetBlobSize(puVar17);\n      if (lVar44 <= CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }\n      lVar44 = SeekBlob(puVar17,local_94,local_90,0);\n      if (lVar44 != CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(param_1,puVar17,param_2);\n      iVar18 = GetNextImageInList(puVar17);\n      if (iVar18 == 0) break;\n      puVar17 = (undefined4 *)SyncNextImageInList(puVar17);\n      uVar42 = GetBlobSize(puVar17);\n      uVar43 = TellBlob(puVar17);\n      iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42);\n    } while (iVar18 != 0);" do (compound_statement "{\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[6] = uVar19 & 0xffff;\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[7] = uVar19 & 0xffff;\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((puVar17[6] == 0) || (puVar17[7] == 0)) {\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }\n      iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (iVar18 == 0) goto LAB_00262f23;\n      SetImageBackgroundColor(puVar17,param_2);\n      uVar19 = ReadBlobMSBShort(puVar17);\n      uVar19 = uVar19 & 0xffff;\n      uVar14 = ReadBlobMSBShort(puVar17);\n      uVar20 = ReadBlobByte(puVar17);\n      if ((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)) {\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar21 = ReadBlobByte(puVar17);\n      if (2 < uVar21) {\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar15 = ReadBlobMSBShort(puVar17);\n      iVar18 = ReadBlobByte(puVar17);\n      uVar21 = ReadBlobByte(puVar17);\n      if ((uVar21 != 0xff) && (1 < uVar21)) {\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(puVar17);\n      if (uVar20 == 0x10) {\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }\n      else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }\nLAB_002622bf:\n      local_a0 = local_70;\n      if (*(int *)(param_1 + 0x1bc) != 0) {\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (local_9c == 0) goto LAB_00262f23;\n      uVar26 = puVar17[6] * 2;\n      if ((uint)(puVar17[6] * 2) < uVar19) {\n        uVar26 = uVar19;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar26,1);\n      if (__s == (ushort *)0x0) {\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar26);\n      local_b0 = (void *)0x0;\n      if (uVar21 == 0) {\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }\n      iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1;\n      if (0 < (int)puVar17[7]) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }\n      if ((uVar14 & 0x2000) != 0) {\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar21 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }\n      if (((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)) goto LAB_0026266b;\n      uVar19 = (uint)uVar15 * 4;\n      bVar40 = CARRY4(local_94,uVar19);\n      local_94 = local_94 + uVar19;\n      local_90 = local_90 + (uint)bVar40;\n      lVar44 = GetBlobSize(puVar17);\n      if (lVar44 <= CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }\n      lVar44 = SeekBlob(puVar17,local_94,local_90,0);\n      if (lVar44 != CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(param_1,puVar17,param_2);\n      iVar18 = GetNextImageInList(puVar17);\n      if (iVar18 == 0) break;\n      puVar17 = (undefined4 *)SyncNextImageInList(puVar17);\n      uVar42 = GetBlobSize(puVar17);\n      uVar43 = TellBlob(puVar17);\n      iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42);\n    }" { (expression_statement "uVar19 = ReadBlobMSBShort(puVar17);" (assignment_expression "uVar19 = ReadBlobMSBShort(puVar17)" identifier = (call_expression "ReadBlobMSBShort(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "puVar17[6] = uVar19 & 0xffff;" (assignment_expression "puVar17[6] = uVar19 & 0xffff" (subscript_expression "puVar17[6]" identifier [ number_literal ]) = (binary_expression "uVar19 & 0xffff" identifier & number_literal)) ;) (expression_statement "uVar19 = ReadBlobMSBShort(puVar17);" (assignment_expression "uVar19 = ReadBlobMSBShort(puVar17)" identifier = (call_expression "ReadBlobMSBShort(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "puVar17[7] = uVar19 & 0xffff;" (assignment_expression "puVar17[7] = uVar19 & 0xffff" (subscript_expression "puVar17[7]" identifier [ number_literal ]) = (binary_expression "uVar19 & 0xffff" identifier & number_literal)) ;) (expression_statement "iVar18 = EOFBlob(puVar17);" (assignment_expression "iVar18 = EOFBlob(puVar17)" identifier = (call_expression "EOFBlob(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (if_statement "if (iVar18 != 0) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }" { (expression_statement "pcVar47 = "ImproperImageHeader";" (assignment_expression "pcVar47 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar46 = 0x1a9;" (assignment_expression "uVar46 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar45 = 0x138;" (assignment_expression "uVar45 = 0x138" identifier = number_literal) ;) (labeled_statement "LAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);" statement_identifier : (expression_statement "ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);" (call_expression "ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0)" identifier (argument_list "(param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0)" ( identifier , (string_literal ""coders/palm.c"" " string_content ") , (string_literal ""ReadPALMImage"" " string_content ") , identifier , identifier , identifier , (string_literal ""`%s\'"" " string_content escape_sequence ") , (binary_expression "param_1 + 0x21f0" identifier + number_literal) ))) ;)) (expression_statement "CloseBlob(puVar17);" (call_expression "CloseBlob(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;) (expression_statement "DestroyImageList(puVar17);" (call_expression "DestroyImageList(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;) (expression_statement "puVar24 = (undefined4 *)0x0;" (assignment_expression "puVar24 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_002621b8;" goto statement_identifier ;) })) (if_statement "if ((puVar17[6] == 0) || (puVar17[7] == 0)) {\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }" if (parenthesized_expression "((puVar17[6] == 0) || (puVar17[7] == 0))" ( (binary_expression "(puVar17[6] == 0) || (puVar17[7] == 0)" (parenthesized_expression "(puVar17[6] == 0)" ( (binary_expression "puVar17[6] == 0" (subscript_expression "puVar17[6]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(puVar17[7] == 0)" ( (binary_expression "puVar17[7] == 0" (subscript_expression "puVar17[7]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }" { (expression_statement "pcVar47 = "NegativeOrZeroImageSize";" (assignment_expression "pcVar47 = "NegativeOrZeroImageSize"" identifier = (string_literal ""NegativeOrZeroImageSize"" " string_content ")) ;) (expression_statement "uVar46 = 0x1a9;" (assignment_expression "uVar46 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar45 = 0x13a;" (assignment_expression "uVar45 = 0x13a" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);" (assignment_expression "iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2)" identifier = (call_expression "SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2)" identifier (argument_list "(puVar17,puVar17[6],puVar17[7],param_2)" ( identifier , (subscript_expression "puVar17[6]" identifier [ number_literal ]) , (subscript_expression "puVar17[7]" identifier [ number_literal ]) , identifier )))) ;) (if_statement "if (iVar18 == 0) goto LAB_00262f23;" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00262f23;" goto statement_identifier ;)) (expression_statement "SetImageBackgroundColor(puVar17,param_2);" (call_expression "SetImageBackgroundColor(puVar17,param_2)" identifier (argument_list "(puVar17,param_2)" ( identifier , identifier ))) ;) (expression_statement "uVar19 = ReadBlobMSBShort(puVar17);" (assignment_expression "uVar19 = ReadBlobMSBShort(puVar17)" identifier = (call_expression "ReadBlobMSBShort(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "uVar19 = uVar19 & 0xffff;" (assignment_expression "uVar19 = uVar19 & 0xffff" identifier = (binary_expression "uVar19 & 0xffff" identifier & number_literal)) ;) (expression_statement "uVar14 = ReadBlobMSBShort(puVar17);" (assignment_expression "uVar14 = ReadBlobMSBShort(puVar17)" identifier = (call_expression "ReadBlobMSBShort(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "uVar20 = ReadBlobByte(puVar17);" (assignment_expression "uVar20 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (if_statement "if ((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)) {\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }" if (parenthesized_expression "((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0))" ( (binary_expression "(0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)" (parenthesized_expression "(0x10 < uVar20)" ( (binary_expression "0x10 < uVar20" number_literal < identifier) )) || (parenthesized_expression "((0x10116U >> (uVar20 & 0x1f) & 1) == 0)" ( (binary_expression "(0x10116U >> (uVar20 & 0x1f) & 1) == 0" (parenthesized_expression "(0x10116U >> (uVar20 & 0x1f) & 1)" ( (binary_expression "0x10116U >> (uVar20 & 0x1f) & 1" (binary_expression "0x10116U >> (uVar20 & 0x1f)" number_literal >> (parenthesized_expression "(uVar20 & 0x1f)" ( (binary_expression "uVar20 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }" { (expression_statement "pcVar47 = "UnsupportedBitsPerPixel";" (assignment_expression "pcVar47 = "UnsupportedBitsPerPixel"" identifier = (string_literal ""UnsupportedBitsPerPixel"" " string_content ")) ;) (expression_statement "uVar46 = 0x1a9;" (assignment_expression "uVar46 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar45 = 0x145;" (assignment_expression "uVar45 = 0x145" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "uVar21 = ReadBlobByte(puVar17);" (assignment_expression "uVar21 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (if_statement "if (2 < uVar21) {\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }" if (parenthesized_expression "(2 < uVar21)" ( (binary_expression "2 < uVar21" number_literal < identifier) )) (compound_statement "{\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }" { (expression_statement "pcVar47 = "FileFormatVersionMismatch";" (assignment_expression "pcVar47 = "FileFormatVersionMismatch"" identifier = (string_literal ""FileFormatVersionMismatch"" " string_content ")) ;) (expression_statement "uVar46 = 0x1a9;" (assignment_expression "uVar46 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar45 = 0x148;" (assignment_expression "uVar45 = 0x148" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "uVar15 = ReadBlobMSBShort(puVar17);" (assignment_expression "uVar15 = ReadBlobMSBShort(puVar17)" identifier = (call_expression "ReadBlobMSBShort(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "iVar18 = ReadBlobByte(puVar17);" (assignment_expression "iVar18 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "uVar21 = ReadBlobByte(puVar17);" (assignment_expression "uVar21 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (if_statement "if ((uVar21 != 0xff) && (1 < uVar21)) {\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }" if (parenthesized_expression "((uVar21 != 0xff) && (1 < uVar21))" ( (binary_expression "(uVar21 != 0xff) && (1 < uVar21)" (parenthesized_expression "(uVar21 != 0xff)" ( (binary_expression "uVar21 != 0xff" identifier != number_literal) )) && (parenthesized_expression "(1 < uVar21)" ( (binary_expression "1 < uVar21" number_literal < identifier) ))) )) (compound_statement "{\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }" { (expression_statement "pcVar47 = "UnrecognizedImageCompression";" (assignment_expression "pcVar47 = "UnrecognizedImageCompression"" identifier = (string_literal ""UnrecognizedImageCompression"" " string_content ")) ;) (expression_statement "uVar46 = 0x1a9;" (assignment_expression "uVar46 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar45 = 0x14f;" (assignment_expression "uVar45 = 0x14f" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "ReadBlobMSBShort(puVar17);" (call_expression "ReadBlobMSBShort(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;) (if_statement "if (uVar20 == 0x10) {\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }\n      else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }" if (parenthesized_expression "(uVar20 == 0x10)" ( (binary_expression "uVar20 == 0x10" identifier == number_literal) )) (compound_statement "{\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }" { (expression_statement "GetPixelInfo(puVar17,local_70);" (call_expression "GetPixelInfo(puVar17,local_70)" identifier (argument_list "(puVar17,local_70)" ( identifier , identifier ))) ;) (expression_statement "ReadBlobByte(puVar17);" (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;) (expression_statement "ReadBlobByte(puVar17);" (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;) (expression_statement "ReadBlobByte(puVar17);" (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;) (expression_statement "ReadBlobByte(puVar17);" (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;) (expression_statement "ReadBlobByte(puVar17);" (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;) (expression_statement "iVar22 = ReadBlobByte(puVar17);" (assignment_expression "iVar22 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "fVar11 = DAT_00306a38;" (assignment_expression "fVar11 = DAT_00306a38" identifier = identifier) ;) (expression_statement "fVar12 = DAT_002df8a8;" (assignment_expression "fVar12 = DAT_002df8a8" identifier = identifier) ;) (expression_statement "local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);" (assignment_expression "local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38)" identifier = (cast_expression "(double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((DAT_002df8a8 * (float)iVar22) / DAT_00306a38)" ( (binary_expression "(DAT_002df8a8 * (float)iVar22) / DAT_00306a38" (parenthesized_expression "(DAT_002df8a8 * (float)iVar22)" ( (binary_expression "DAT_002df8a8 * (float)iVar22" identifier * (cast_expression "(float)iVar22" ( (type_descriptor "float" primitive_type) ) identifier)) )) / identifier) )))) ;) (expression_statement "iVar22 = ReadBlobByte(puVar17);" (assignment_expression "iVar22 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);" (assignment_expression "local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4)" identifier = (cast_expression "(double)(((float)iVar22 * fVar12) / DAT_0030d3a4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(((float)iVar22 * fVar12) / DAT_0030d3a4)" ( (binary_expression "((float)iVar22 * fVar12) / DAT_0030d3a4" (parenthesized_expression "((float)iVar22 * fVar12)" ( (binary_expression "(float)iVar22 * fVar12" (cast_expression "(float)iVar22" ( (type_descriptor "float" primitive_type) ) identifier) * identifier) )) / identifier) )))) ;) (expression_statement "iVar22 = ReadBlobByte(puVar17);" (assignment_expression "iVar22 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "local_40 = (double)(((float)iVar22 * fVar12) / fVar11);" (assignment_expression "local_40 = (double)(((float)iVar22 * fVar12) / fVar11)" identifier = (cast_expression "(double)(((float)iVar22 * fVar12) / fVar11)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(((float)iVar22 * fVar12) / fVar11)" ( (binary_expression "((float)iVar22 * fVar12) / fVar11" (parenthesized_expression "((float)iVar22 * fVar12)" ( (binary_expression "(float)iVar22 * fVar12" (cast_expression "(float)iVar22" ( (type_descriptor "float" primitive_type) ) identifier) * identifier) )) / identifier) )))) ;) (if_statement "if ((short)uVar14 < 0) goto LAB_00262c40;" if (parenthesized_expression "((short)uVar14 < 0)" ( (binary_expression "(short)uVar14 < 0" (cast_expression "(short)uVar14" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) < number_literal) )) (goto_statement "goto LAB_00262c40;" goto statement_identifier ;)) (expression_statement "*puVar17 = 1;" (assignment_expression "*puVar17 = 1" (pointer_expression "*puVar17" * identifier) = number_literal) ;) }) (else_clause "else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }" else (compound_statement "{\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }" { (expression_statement "iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);" (assignment_expression "iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2)" identifier = (call_expression "AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2)" identifier (argument_list "(puVar17,1 << ((byte)uVar20 & 0x1f),param_2)" ( identifier , (binary_expression "1 << ((byte)uVar20 & 0x1f)" number_literal << (parenthesized_expression "((byte)uVar20 & 0x1f)" ( (binary_expression "(byte)uVar20 & 0x1f" (cast_expression "(byte)uVar20" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) , identifier )))) ;) (if_statement "if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }" if (parenthesized_expression "(iVar22 == 0)" ( (binary_expression "iVar22 == 0" identifier == number_literal) )) (compound_statement "{\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }" { (expression_statement "pcVar47 = "MemoryAllocationFailed";" (assignment_expression "pcVar47 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "uVar46 = 400;" (assignment_expression "uVar46 = 400" identifier = number_literal) ;) (expression_statement "uVar45 = 0x158;" (assignment_expression "uVar45 = 0x158" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "GetPixelInfo(puVar17,local_70);" (call_expression "GetPixelInfo(puVar17,local_70)" identifier (argument_list "(puVar17,local_70)" ( identifier , identifier ))) ;) (if_statement "if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }" if (parenthesized_expression "(uVar20 == 8)" ( (binary_expression "uVar20 == 8" identifier == number_literal) )) (compound_statement "{\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }" { (if_statement "if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }" if (parenthesized_expression "((uVar14 & 0x4000) == 0)" ( (binary_expression "(uVar14 & 0x4000) == 0" (parenthesized_expression "(uVar14 & 0x4000)" ( (binary_expression "uVar14 & 0x4000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }" { (expression_statement "iVar22 = 0xff;" (assignment_expression "iVar22 = 0xff" identifier = number_literal) ;) (expression_statement "pbVar28 = &DAT_00344940;" (assignment_expression "pbVar28 = &DAT_00344940" identifier = (pointer_expression "&DAT_00344940" & identifier)) ;) (do_statement "do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");" do (compound_statement "{\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            }" { (if_statement "if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }" if (parenthesized_expression "(iVar22 < (int)puVar17[9])" ( (binary_expression "iVar22 < (int)puVar17[9]" identifier < (cast_expression "(int)puVar17[9]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar17[9]" identifier [ number_literal ]))) )) (compound_statement "{\n                local_10c = iVar22 * 0x50;\n              }" { (expression_statement "local_10c = iVar22 * 0x50;" (assignment_expression "local_10c = iVar22 * 0x50" identifier = (binary_expression "iVar22 * 0x50" identifier * number_literal)) ;) }) (else_clause "else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }" else (compound_statement "{\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }" { (expression_statement "local_10c = 0;" (assignment_expression "local_10c = 0" identifier = number_literal) ;) (if_statement "if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }" if (parenthesized_expression "(*param_2 != 0x1a9)" ( (binary_expression "*param_2 != 0x1a9" (pointer_expression "*param_2" * identifier) != number_literal) )) (compound_statement "{\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }" { (expression_statement "local_10c = 0;" (assignment_expression "local_10c = 0" identifier = number_literal) ;) (expression_statement "ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);" (call_expression "ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6)" identifier (argument_list "(param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6)" ( identifier , (string_literal ""./MagickCore/colormap-private.h"" " string_content ") , (string_literal ""ConstrainColormapIndex"" " string_content ") , number_literal , number_literal , (string_literal ""InvalidColormapIndex"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (binary_expression "puVar17 + 0xc6" identifier + number_literal) ))) ;) })) }))) (expression_statement "fVar12 = DAT_002e814c;" (assignment_expression "fVar12 = DAT_002e814c" identifier = identifier) ;) (expression_statement "pbVar37 = pbVar28 + 3;" (assignment_expression "pbVar37 = pbVar28 + 3" identifier = (binary_expression "pbVar28 + 3" identifier + number_literal)) ;) (expression_statement "iVar22 = iVar22 + -1;" (assignment_expression "iVar22 = iVar22 + -1" identifier = (binary_expression "iVar22 + -1" identifier + number_literal)) ;) (expression_statement "local_10c = puVar17[10] + local_10c;" (assignment_expression "local_10c = puVar17[10] + local_10c" identifier = (binary_expression "puVar17[10] + local_10c" (subscript_expression "puVar17[10]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "*(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);" (assignment_expression "*(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c)" (pointer_expression "*(double *)(local_10c + 0x20)" * (cast_expression "(double *)(local_10c + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_10c + 0x20)" ( (binary_expression "local_10c + 0x20" identifier + number_literal) )))) = (cast_expression "(double)((float)*pbVar28 * DAT_002e814c)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)*pbVar28 * DAT_002e814c)" ( (binary_expression "(float)*pbVar28 * DAT_002e814c" (cast_expression "(float)*pbVar28" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*pbVar28" * identifier)) * identifier) )))) ;) (expression_statement "*(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);" (assignment_expression "*(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12)" (pointer_expression "*(double *)(local_10c + 0x28)" * (cast_expression "(double *)(local_10c + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_10c + 0x28)" ( (binary_expression "local_10c + 0x28" identifier + number_literal) )))) = (cast_expression "(double)((float)pbVar28[1] * fVar12)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)pbVar28[1] * fVar12)" ( (binary_expression "(float)pbVar28[1] * fVar12" (cast_expression "(float)pbVar28[1]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pbVar28[1]" identifier [ number_literal ])) * identifier) )))) ;) (expression_statement "*(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);" (assignment_expression "*(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12)" (pointer_expression "*(double *)(local_10c + 0x30)" * (cast_expression "(double *)(local_10c + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_10c + 0x30)" ( (binary_expression "local_10c + 0x30" identifier + number_literal) )))) = (cast_expression "(double)((float)pbVar28[2] * fVar12)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)pbVar28[2] * fVar12)" ( (binary_expression "(float)pbVar28[2] * fVar12" (cast_expression "(float)pbVar28[2]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pbVar28[2]" identifier [ number_literal ])) * identifier) )))) ;) (expression_statement "pbVar28 = pbVar37;" (assignment_expression "pbVar28 = pbVar37" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar37 != (byte *)"Pango Markup Language")" ( (binary_expression "pbVar37 != (byte *)"Pango Markup Language"" identifier != (cast_expression "(byte *)"Pango Markup Language"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""Pango Markup Language"" " string_content "))) )) ;) }) (else_clause "else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }" else (compound_statement "{\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }" { (expression_statement "uVar16 = ReadBlobMSBShort(puVar17);" (assignment_expression "uVar16 = ReadBlobMSBShort(puVar17)" identifier = (call_expression "ReadBlobMSBShort(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (if_statement "if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }" if (parenthesized_expression "(uVar16 != 0)" ( (binary_expression "uVar16 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }" { (expression_statement "iVar22 = 0xff;" (assignment_expression "iVar22 = 0xff" identifier = number_literal) ;) (do_statement "do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);" do (compound_statement "{\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              }" { (expression_statement "ReadBlobByte(puVar17);" (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;) (if_statement "if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }" if (parenthesized_expression "((iVar22 < 0) || ((int)puVar17[9] <= iVar22))" ( (binary_expression "(iVar22 < 0) || ((int)puVar17[9] <= iVar22)" (parenthesized_expression "(iVar22 < 0)" ( (binary_expression "iVar22 < 0" identifier < number_literal) )) || (parenthesized_expression "((int)puVar17[9] <= iVar22)" ( (binary_expression "(int)puVar17[9] <= iVar22" (cast_expression "(int)puVar17[9]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar17[9]" identifier [ number_literal ])) <= identifier) ))) )) (compound_statement "{\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }" { (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (if_statement "if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }" if (parenthesized_expression "(*param_2 != 0x1a9)" ( (binary_expression "*param_2 != 0x1a9" (pointer_expression "*param_2" * identifier) != number_literal) )) (compound_statement "{\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }" { (expression_statement "ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);" (call_expression "ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6)" identifier (argument_list "(param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6)" ( identifier , (string_literal ""./MagickCore/colormap-private.h"" " string_content ") , (string_literal ""ConstrainColormapIndex"" " string_content ") , number_literal , number_literal , (string_literal ""InvalidColormapIndex"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (binary_expression "puVar17 + 0xc6" identifier + number_literal) ))) ;) })) }) (else_clause "else {\n                  iVar23 = iVar22 * 0x50;\n                }" else (compound_statement "{\n                  iVar23 = iVar22 * 0x50;\n                }" { (expression_statement "iVar23 = iVar22 * 0x50;" (assignment_expression "iVar23 = iVar22 * 0x50" identifier = (binary_expression "iVar22 * 0x50" identifier * number_literal)) ;) }))) (expression_statement "iVar22 = iVar22 + -1;" (assignment_expression "iVar22 = iVar22 + -1" identifier = (binary_expression "iVar22 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = ReadBlobByte(puVar17);" (assignment_expression "bVar13 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "dVar1 = (double)DAT_002e814c;" (assignment_expression "dVar1 = (double)DAT_002e814c" identifier = (cast_expression "(double)DAT_002e814c" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "*(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);" (assignment_expression "*(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c)" (pointer_expression "*(double *)(puVar17[10] + 0x20 + iVar23)" * (cast_expression "(double *)(puVar17[10] + 0x20 + iVar23)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17[10] + 0x20 + iVar23)" ( (binary_expression "puVar17[10] + 0x20 + iVar23" (binary_expression "puVar17[10] + 0x20" (subscript_expression "puVar17[10]" identifier [ number_literal ]) + number_literal) + identifier) )))) = (cast_expression "(double)((float)bVar13 * DAT_002e814c)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)bVar13 * DAT_002e814c)" ( (binary_expression "(float)bVar13 * DAT_002e814c" (cast_expression "(float)bVar13" ( (type_descriptor "float" primitive_type) ) identifier) * identifier) )))) ;) (expression_statement "bVar13 = ReadBlobByte(puVar17);" (assignment_expression "bVar13 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "*(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;" (assignment_expression "*(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13" (pointer_expression "*(double *)(puVar17[10] + 0x28 + iVar23)" * (cast_expression "(double *)(puVar17[10] + 0x28 + iVar23)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17[10] + 0x28 + iVar23)" ( (binary_expression "puVar17[10] + 0x28 + iVar23" (binary_expression "puVar17[10] + 0x28" (subscript_expression "puVar17[10]" identifier [ number_literal ]) + number_literal) + identifier) )))) = (binary_expression "dVar1 * (double)bVar13" identifier * (cast_expression "(double)bVar13" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "bVar13 = ReadBlobByte(puVar17);" (assignment_expression "bVar13 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "*(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;" (assignment_expression "*(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13" (pointer_expression "*(double *)(puVar17[10] + 0x30 + iVar23)" * (cast_expression "(double *)(puVar17[10] + 0x30 + iVar23)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17[10] + 0x30 + iVar23)" ( (binary_expression "puVar17[10] + 0x30 + iVar23" (binary_expression "puVar17[10] + 0x30" (subscript_expression "puVar17[10]" identifier [ number_literal ]) + number_literal) + identifier) )))) = (binary_expression "dVar1 * (double)bVar13" identifier * (cast_expression "(double)bVar13" ( (type_descriptor "double" primitive_type) ) identifier))) ;) }) while (parenthesized_expression "(0xff - (uint)uVar16 != iVar22)" ( (binary_expression "0xff - (uint)uVar16 != iVar22" (binary_expression "0xff - (uint)uVar16" number_literal - (cast_expression "(uint)uVar16" ( (type_descriptor "uint" type_identifier) ) identifier)) != identifier) )) ;) })) }))) (if_statement "if ((short)uVar14 < 0) goto LAB_00262c40;" if (parenthesized_expression "((short)uVar14 < 0)" ( (binary_expression "(short)uVar14 < 0" (cast_expression "(short)uVar14" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) < number_literal) )) (goto_statement "goto LAB_00262c40;" goto statement_identifier ;)) }) (else_clause "else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }" else (compound_statement "{\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }" { (if_statement "if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }" if (parenthesized_expression "((short)uVar14 < 0)" ( (binary_expression "(short)uVar14 < 0" (cast_expression "(short)uVar14" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) < number_literal) )) (compound_statement "{\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }" { (labeled_statement "LAB_00262c40:\n            ReadBlobMSBShort(puVar17);" statement_identifier : (expression_statement "ReadBlobMSBShort(puVar17);" (call_expression "ReadBlobMSBShort(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;)) })) (expression_statement "*puVar17 = 1;" (assignment_expression "*puVar17 = 1" (pointer_expression "*puVar17" * identifier) = number_literal) ;) (if_statement "if (uVar20 == 0x10) goto LAB_002622bf;" if (parenthesized_expression "(uVar20 == 0x10)" ( (binary_expression "uVar20 == 0x10" identifier == number_literal) )) (goto_statement "goto LAB_002622bf;" goto statement_identifier ;)) }))) (expression_statement "*puVar17 = 2;" (assignment_expression "*puVar17 = 2" (pointer_expression "*puVar17" * identifier) = number_literal) ;) (expression_statement "puVar17[8] = 8;" (assignment_expression "puVar17[8] = 8" (subscript_expression "puVar17[8]" identifier [ number_literal ]) = number_literal) ;) }))) (labeled_statement "LAB_002622bf:\n      local_a0 = local_70;" statement_identifier : (expression_statement "local_a0 = local_70;" (assignment_expression "local_a0 = local_70" identifier = identifier) ;)) (if_statement "if (*(int *)(param_1 + 0x1bc) != 0) {\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }" if (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) )) (compound_statement "{\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }" { (expression_statement "CloseBlob(puVar17);" (call_expression "CloseBlob(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;) (expression_statement "puVar24 = puVar17;" (assignment_expression "puVar24 = puVar17" identifier = identifier) ;) (goto_statement "goto LAB_002621b8;" goto statement_identifier ;) })) (expression_statement "local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);" (assignment_expression "local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2)" identifier = (call_expression "SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2)" identifier (argument_list "(puVar17,puVar17[6],puVar17[7],param_2)" ( identifier , (subscript_expression "puVar17[6]" identifier [ number_literal ]) , (subscript_expression "puVar17[7]" identifier [ number_literal ]) , identifier )))) ;) (if_statement "if (local_9c == 0) goto LAB_00262f23;" if (parenthesized_expression "(local_9c == 0)" ( (binary_expression "local_9c == 0" identifier == number_literal) )) (goto_statement "goto LAB_00262f23;" goto statement_identifier ;)) (expression_statement "uVar26 = puVar17[6] * 2;" (assignment_expression "uVar26 = puVar17[6] * 2" identifier = (binary_expression "puVar17[6] * 2" (subscript_expression "puVar17[6]" identifier [ number_literal ]) * number_literal)) ;) (if_statement "if ((uint)(puVar17[6] * 2) < uVar19) {\n        uVar26 = uVar19;\n      }" if (parenthesized_expression "((uint)(puVar17[6] * 2) < uVar19)" ( (binary_expression "(uint)(puVar17[6] * 2) < uVar19" (call_expression "(uint)(puVar17[6] * 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar17[6] * 2)" ( (binary_expression "puVar17[6] * 2" (subscript_expression "puVar17[6]" identifier [ number_literal ]) * number_literal) ))) < identifier) )) (compound_statement "{\n        uVar26 = uVar19;\n      }" { (expression_statement "uVar26 = uVar19;" (assignment_expression "uVar26 = uVar19" identifier = identifier) ;) })) (expression_statement "__s = (ushort *)AcquireQuantumMemory(uVar26,1);" (assignment_expression "__s = (ushort *)AcquireQuantumMemory(uVar26,1)" identifier = (cast_expression "(ushort *)AcquireQuantumMemory(uVar26,1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(uVar26,1)" identifier (argument_list "(uVar26,1)" ( identifier , number_literal ))))) ;) (if_statement "if (__s == (ushort *)0x0) {\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }" if (parenthesized_expression "(__s == (ushort *)0x0)" ( (binary_expression "__s == (ushort *)0x0" identifier == (cast_expression "(ushort *)0x0" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }" { (expression_statement "pcVar47 = "MemoryAllocationFailed";" (assignment_expression "pcVar47 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "uVar46 = 400;" (assignment_expression "uVar46 = 400" identifier = number_literal) ;) (expression_statement "uVar45 = 0x19c;" (assignment_expression "uVar45 = 0x19c" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "memset(__s,0,uVar26);" (call_expression "memset(__s,0,uVar26)" identifier (argument_list "(__s,0,uVar26)" ( identifier , number_literal , identifier ))) ;) (expression_statement "local_b0 = (void *)0x0;" (assignment_expression "local_b0 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (uVar21 == 0) {\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }" if (parenthesized_expression "(uVar21 == 0)" ( (binary_expression "uVar21 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }" { (expression_statement "uVar26 = puVar17[6] * 2;" (assignment_expression "uVar26 = puVar17[6] * 2" identifier = (binary_expression "puVar17[6] * 2" (subscript_expression "puVar17[6]" identifier [ number_literal ]) * number_literal)) ;) (if_statement "if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }" if (parenthesized_expression "((uint)(puVar17[6] * 2) < uVar19)" ( (binary_expression "(uint)(puVar17[6] * 2) < uVar19" (call_expression "(uint)(puVar17[6] * 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar17[6] * 2)" ( (binary_expression "puVar17[6] * 2" (subscript_expression "puVar17[6]" identifier [ number_literal ]) * number_literal) ))) < identifier) )) (compound_statement "{\n          uVar26 = uVar19;\n        }" { (expression_statement "uVar26 = uVar19;" (assignment_expression "uVar26 = uVar19" identifier = identifier) ;) })) (expression_statement "local_b0 = (void *)AcquireQuantumMemory(uVar26,1);" (assignment_expression "local_b0 = (void *)AcquireQuantumMemory(uVar26,1)" identifier = (cast_expression "(void *)AcquireQuantumMemory(uVar26,1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(uVar26,1)" identifier (argument_list "(uVar26,1)" ( identifier , number_literal ))))) ;) (if_statement "if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }" if (parenthesized_expression "(local_b0 == (void *)0x0)" ( (binary_expression "local_b0 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }" { (expression_statement "RelinquishMagickMemory(__s);" (call_expression "RelinquishMagickMemory(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (expression_statement "pcVar47 = "MemoryAllocationFailed";" (assignment_expression "pcVar47 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "uVar46 = 400;" (assignment_expression "uVar46 = 400" identifier = number_literal) ;) (expression_statement "uVar45 = 0x1a6;" (assignment_expression "uVar45 = 0x1a6" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "uVar26 = puVar17[6] * 2;" (assignment_expression "uVar26 = puVar17[6] * 2" identifier = (binary_expression "puVar17[6] * 2" (subscript_expression "puVar17[6]" identifier [ number_literal ]) * number_literal)) ;) (if_statement "if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }" if (parenthesized_expression "((uint)(puVar17[6] * 2) < uVar19)" ( (binary_expression "(uint)(puVar17[6] * 2) < uVar19" (call_expression "(uint)(puVar17[6] * 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar17[6] * 2)" ( (binary_expression "puVar17[6] * 2" (subscript_expression "puVar17[6]" identifier [ number_literal ]) * number_literal) ))) < identifier) )) (compound_statement "{\n          uVar26 = uVar19;\n        }" { (expression_statement "uVar26 = uVar19;" (assignment_expression "uVar26 = uVar19" identifier = identifier) ;) })) (expression_statement "memset(local_b0,0,uVar26);" (call_expression "memset(local_b0,0,uVar26)" identifier (argument_list "(local_b0,0,uVar26)" ( identifier , number_literal , identifier ))) ;) })) (expression_statement "iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1;" (assignment_expression "iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1" identifier = (binary_expression "(1 << ((byte)uVar20 & 0x1f)) + -1" (parenthesized_expression "(1 << ((byte)uVar20 & 0x1f))" ( (binary_expression "1 << ((byte)uVar20 & 0x1f)" number_literal << (parenthesized_expression "((byte)uVar20 & 0x1f)" ( (binary_expression "(byte)uVar20 & 0x1f" (cast_expression "(byte)uVar20" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )) + number_literal)) ;) (if_statement "if (0 < (int)puVar17[7]) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }" if (parenthesized_expression "(0 < (int)puVar17[7])" ( (binary_expression "0 < (int)puVar17[7]" number_literal < (cast_expression "(int)puVar17[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar17[7]" identifier [ number_literal ]))) )) (compound_statement "{\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }" { (expression_statement "local_c8 = 0;" (assignment_expression "local_c8 = 0" identifier = number_literal) ;) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" identifier = number_literal) ;) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (do_statement "do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);" do (compound_statement "{\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        }" { (if_statement "if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }" if (parenthesized_expression "((short)uVar14 < 0)" ( (binary_expression "(short)uVar14 < 0" (cast_expression "(short)uVar14" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) < number_literal) )) (compound_statement "{\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }" { (if_statement "if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }" if (parenthesized_expression "(uVar21 == 1)" ( (binary_expression "uVar21 == 1" identifier == number_literal) )) (compound_statement "{\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }" { (expression_statement "puVar17[2] = 0x13;" (assignment_expression "puVar17[2] = 0x13" (subscript_expression "puVar17[2]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }" if (parenthesized_expression "(uVar19 != 0)" ( (binary_expression "uVar19 != 0" identifier != number_literal) )) (compound_statement "{\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }" { (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (do_statement "do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);" do (compound_statement "{\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                }" { (expression_statement "sVar29 = ReadBlobByte(puVar17);" (assignment_expression "sVar29 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (if_statement "if ((int)sVar29 < 0) break;" if (parenthesized_expression "((int)sVar29 < 0)" ( (binary_expression "(int)sVar29 < 0" (cast_expression "(int)sVar29" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (break_statement "break;" break ;)) (expression_statement "__n = uVar19 - iVar23;" (assignment_expression "__n = uVar19 - iVar23" identifier = (binary_expression "uVar19 - iVar23" identifier - identifier)) ;) (if_statement "if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }" if (parenthesized_expression "((int)sVar29 < (int)(uVar19 - iVar23))" ( (binary_expression "(int)sVar29 < (int)(uVar19 - iVar23)" (cast_expression "(int)sVar29" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)(uVar19 - iVar23)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar19 - iVar23)" ( (binary_expression "uVar19 - iVar23" identifier - identifier) )))) )) (compound_statement "{\n                    __n = sVar29;\n                  }" { (expression_statement "__n = sVar29;" (assignment_expression "__n = sVar29" identifier = identifier) ;) })) (expression_statement "iVar27 = ReadBlobByte(puVar17);" (assignment_expression "iVar27 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "pbVar28 = (byte *)((int)__s + iVar23);" (assignment_expression "pbVar28 = (byte *)((int)__s + iVar23)" identifier = (cast_expression "(byte *)((int)__s + iVar23)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + iVar23)" ( (binary_expression "(int)__s + iVar23" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "iVar23 = iVar23 + __n;" (assignment_expression "iVar23 = iVar23 + __n" identifier = (binary_expression "iVar23 + __n" identifier + identifier)) ;) (expression_statement "memset(pbVar28,iVar27,__n);" (call_expression "memset(pbVar28,iVar27,__n)" identifier (argument_list "(pbVar28,iVar27,__n)" ( identifier , identifier , identifier ))) ;) }) while (parenthesized_expression "(iVar23 < (int)uVar19)" ( (binary_expression "iVar23 < (int)uVar19" identifier < (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) }) (else_clause "else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }" else (if_statement "if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }" if (parenthesized_expression "(uVar21 == 0)" ( (binary_expression "uVar21 == 0" identifier == number_literal) )) (compound_statement "{\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }" { (expression_statement "puVar17[2] = 7;" (assignment_expression "puVar17[2] = 7" (subscript_expression "puVar17[2]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }" if (parenthesized_expression "(uVar19 != 0)" ( (binary_expression "uVar19 != 0" identifier != number_literal) )) (compound_statement "{\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }" { (expression_statement "local_f4 = 0;" (assignment_expression "local_f4 = 0" identifier = number_literal) ;) (expression_statement "puVar36 = __s;" (assignment_expression "puVar36 = __s" identifier = identifier) ;) (do_statement "do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);" do (compound_statement "{\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                }" { (expression_statement "uVar26 = ReadBlobByte(puVar17);" (assignment_expression "uVar26 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (if_statement "if ((int)uVar26 < 0) break;" if (parenthesized_expression "((int)uVar26 < 0)" ( (binary_expression "(int)uVar26 < 0" (cast_expression "(int)uVar26" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar38 = uVar19 - local_f4;" (assignment_expression "uVar38 = uVar19 - local_f4" identifier = (binary_expression "uVar19 - local_f4" identifier - identifier)) ;) (if_statement "if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }" if (parenthesized_expression "((int)uVar38 < 8)" ( (binary_expression "(int)uVar38 < 8" (cast_expression "(int)uVar38" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }" { (if_statement "if (uVar38 != 0) goto LAB_002629c0;" if (parenthesized_expression "(uVar38 != 0)" ( (binary_expression "uVar38 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002629c0;" goto statement_identifier ;)) }) (else_clause "else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }" else (compound_statement "{\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }" { (expression_statement "uVar38 = 8;" (assignment_expression "uVar38 = 8" identifier = number_literal) ;) (labeled_statement "LAB_002629c0:\n                    uVar35 = 0;" statement_identifier : (expression_statement "uVar35 = 0;" (assignment_expression "uVar35 = 0" identifier = number_literal) ;)) (if_statement "if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }" if (parenthesized_expression "(local_c8 == 0)" ( (binary_expression "local_c8 == 0" identifier == number_literal) )) (compound_statement "{\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }" { (do_statement "do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);" do (compound_statement "{\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      }" { (expression_statement "bVar13 = ReadBlobByte(puVar17);" (assignment_expression "bVar13 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "*(byte *)((int)puVar36 + uVar35) = bVar13;" (assignment_expression "*(byte *)((int)puVar36 + uVar35) = bVar13" (pointer_expression "*(byte *)((int)puVar36 + uVar35)" * (cast_expression "(byte *)((int)puVar36 + uVar35)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar36 + uVar35)" ( (binary_expression "(int)puVar36 + uVar35" (cast_expression "(int)puVar36" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = identifier) ;) (expression_statement "uVar35 = uVar35 + 1;" (assignment_expression "uVar35 = uVar35 + 1" identifier = (binary_expression "uVar35 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar35 < uVar38)" ( (binary_expression "uVar35 < uVar38" identifier < identifier) )) ;) }) (else_clause "else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }" else (compound_statement "{\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }" { (expression_statement "uVar35 = 0;" (assignment_expression "uVar35 = 0" identifier = number_literal) ;) (do_statement "do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);" do (compound_statement "{\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      }" { (while_statement "while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }" while (parenthesized_expression "((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0)" ( (binary_expression "(uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0" (parenthesized_expression "(uVar26 & 1 << (7U - (char)uVar35 & 0x1f))" ( (binary_expression "uVar26 & 1 << (7U - (char)uVar35 & 0x1f)" identifier & (binary_expression "1 << (7U - (char)uVar35 & 0x1f)" number_literal << (parenthesized_expression "(7U - (char)uVar35 & 0x1f)" ( (binary_expression "7U - (char)uVar35 & 0x1f" (binary_expression "7U - (char)uVar35" number_literal - (cast_expression "(char)uVar35" ( (type_descriptor "char" primitive_type) ) identifier)) & number_literal) )))) )) == number_literal) )) (compound_statement "{\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }" { (expression_statement "*(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);" (assignment_expression "*(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4)" (pointer_expression "*(byte *)((int)puVar36 + uVar35)" * (cast_expression "(byte *)((int)puVar36 + uVar35)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar36 + uVar35)" ( (binary_expression "(int)puVar36 + uVar35" (cast_expression "(int)puVar36" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = (pointer_expression "*(byte *)((int)local_b0 + uVar35 + local_f4)" * (cast_expression "(byte *)((int)local_b0 + uVar35 + local_f4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_b0 + uVar35 + local_f4)" ( (binary_expression "(int)local_b0 + uVar35 + local_f4" (binary_expression "(int)local_b0 + uVar35" (cast_expression "(int)local_b0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) ))))) ;) (expression_statement "uVar35 = uVar35 + 1;" (assignment_expression "uVar35 = uVar35 + 1" identifier = (binary_expression "uVar35 + 1" identifier + number_literal)) ;) (if_statement "if (uVar38 <= uVar35) goto LAB_00262a23;" if (parenthesized_expression "(uVar38 <= uVar35)" ( (binary_expression "uVar38 <= uVar35" identifier <= identifier) )) (goto_statement "goto LAB_00262a23;" goto statement_identifier ;)) })) (expression_statement "bVar13 = ReadBlobByte(puVar17);" (assignment_expression "bVar13 = ReadBlobByte(puVar17)" identifier = (call_expression "ReadBlobByte(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "*(byte *)((int)puVar36 + uVar35) = bVar13;" (assignment_expression "*(byte *)((int)puVar36 + uVar35) = bVar13" (pointer_expression "*(byte *)((int)puVar36 + uVar35)" * (cast_expression "(byte *)((int)puVar36 + uVar35)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar36 + uVar35)" ( (binary_expression "(int)puVar36 + uVar35" (cast_expression "(int)puVar36" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = identifier) ;) (expression_statement "uVar35 = uVar35 + 1;" (assignment_expression "uVar35 = uVar35 + 1" identifier = (binary_expression "uVar35 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar35 < uVar38)" ( (binary_expression "uVar35 < uVar38" identifier < identifier) )) ;) }))) }))) (labeled_statement "LAB_00262a23:\n                  local_f4 = local_f4 + 8;" statement_identifier : (expression_statement "local_f4 = local_f4 + 8;" (assignment_expression "local_f4 = local_f4 + 8" identifier = (binary_expression "local_f4 + 8" identifier + number_literal)) ;)) (expression_statement "puVar36 = puVar36 + 4;" (assignment_expression "puVar36 = puVar36 + 4" identifier = (binary_expression "puVar36 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_f4 != (uVar19 - 1 & 0xfffffff8) + 8)" ( (binary_expression "local_f4 != (uVar19 - 1 & 0xfffffff8) + 8" identifier != (binary_expression "(uVar19 - 1 & 0xfffffff8) + 8" (parenthesized_expression "(uVar19 - 1 & 0xfffffff8)" ( (binary_expression "uVar19 - 1 & 0xfffffff8" (binary_expression "uVar19 - 1" identifier - number_literal) & number_literal) )) + number_literal)) )) ;) })) (expression_statement "memcpy(local_b0,__s,uVar19);" (call_expression "memcpy(local_b0,__s,uVar19)" identifier (argument_list "(local_b0,__s,uVar19)" ( identifier , identifier , identifier ))) ;) })))) }) (else_clause "else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }" else (compound_statement "{\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }" { (expression_statement "puVar17[2] = 0x10;" (assignment_expression "puVar17[2] = 0x10" (subscript_expression "puVar17[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar26 = ReadBlob(puVar17,uVar19,__s);" (assignment_expression "uVar26 = ReadBlob(puVar17,uVar19,__s)" identifier = (call_expression "ReadBlob(puVar17,uVar19,__s)" identifier (argument_list "(puVar17,uVar19,__s)" ( identifier , identifier , identifier )))) ;) (if_statement "if (uVar26 != uVar19) break;" if (parenthesized_expression "(uVar26 != uVar19)" ( (binary_expression "uVar26 != uVar19" identifier != identifier) )) (break_statement "break;" break ;)) }))) (expression_statement "iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);" (assignment_expression "iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2)" identifier = (call_expression "QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2)" identifier (argument_list "(puVar17,0,local_c8,puVar17[6],1,param_2)" ( identifier , number_literal , identifier , (subscript_expression "puVar17[6]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (expression_statement "fVar12 = DAT_002df8a8;" (assignment_expression "fVar12 = DAT_002df8a8" identifier = identifier) ;) (if_statement "if (iVar23 == 0) break;" if (parenthesized_expression "(iVar23 == 0)" ( (binary_expression "iVar23 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar26 = puVar17[6];" (assignment_expression "uVar26 = puVar17[6]" identifier = (subscript_expression "puVar17[6]" identifier [ number_literal ])) ;) (if_statement "if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }" if (parenthesized_expression "(uVar20 != 0x10)" ( (binary_expression "uVar20 != 0x10" identifier != number_literal) )) (compound_statement "{\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }" { (if_statement "if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }" if (parenthesized_expression "(0 < (int)uVar26)" ( (binary_expression "0 < (int)uVar26" number_literal < (cast_expression "(int)uVar26" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }" { (if_statement "if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }" if (parenthesized_expression "(uVar19 == 0)" ( (binary_expression "uVar19 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }" { (labeled_statement "LAB_002628e2:\n                RelinquishMagickMemory(__s);" statement_identifier : (expression_statement "RelinquishMagickMemory(__s);" (call_expression "RelinquishMagickMemory(__s)" identifier (argument_list "(__s)" ( identifier ))) ;)) (if_statement "if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }" if (parenthesized_expression "(uVar21 == 0)" ( (binary_expression "uVar21 == 0" identifier == number_literal) )) (compound_statement "{\n                  RelinquishMagickMemory(local_b0);\n                }" { (expression_statement "RelinquishMagickMemory(local_b0);" (call_expression "RelinquishMagickMemory(local_b0)" identifier (argument_list "(local_b0)" ( identifier ))) ;) })) (expression_statement "pcVar47 = "CorruptImage";" (assignment_expression "pcVar47 = "CorruptImage"" identifier = (string_literal ""CorruptImage"" " string_content ")) ;) (expression_statement "uVar46 = 0x1a9;" (assignment_expression "uVar46 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar45 = 0x206;" (assignment_expression "uVar45 = 0x206" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "iVar34 = 0;" (assignment_expression "iVar34 = 0" identifier = number_literal) ;) (expression_statement "iVar27 = puVar17[0xaa];" (assignment_expression "iVar27 = puVar17[0xaa]" identifier = (subscript_expression "puVar17[0xaa]" identifier [ number_literal ])) ;) (expression_statement "iVar2 = *(int *)(iVar27 + 0x40);" (assignment_expression "iVar2 = *(int *)(iVar27 + 0x40)" identifier = (pointer_expression "*(int *)(iVar27 + 0x40)" * (cast_expression "(int *)(iVar27 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x40)" ( (binary_expression "iVar27 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = puVar17[10];" (assignment_expression "iVar3 = puVar17[10]" identifier = (subscript_expression "puVar17[10]" identifier [ number_literal ])) ;) (expression_statement "iVar4 = puVar17[0xa6];" (assignment_expression "iVar4 = puVar17[0xa6]" identifier = (subscript_expression "puVar17[0xa6]" identifier [ number_literal ])) ;) (expression_statement "iVar5 = *(int *)(iVar27 + 8);" (assignment_expression "iVar5 = *(int *)(iVar27 + 8)" identifier = (pointer_expression "*(int *)(iVar27 + 8)" * (cast_expression "(int *)(iVar27 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 8)" ( (binary_expression "iVar27 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(iVar27 + 0x14);" (assignment_expression "iVar6 = *(int *)(iVar27 + 0x14)" identifier = (pointer_expression "*(int *)(iVar27 + 0x14)" * (cast_expression "(int *)(iVar27 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x14)" ( (binary_expression "iVar27 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(iVar27 + 0x20);" (assignment_expression "iVar7 = *(int *)(iVar27 + 0x20)" identifier = (pointer_expression "*(int *)(iVar27 + 0x20)" * (cast_expression "(int *)(iVar27 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x20)" ( (binary_expression "iVar27 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(iVar27 + 0x28);" (assignment_expression "iVar8 = *(int *)(iVar27 + 0x28)" identifier = (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(iVar27 + 0x34);" (assignment_expression "iVar9 = *(int *)(iVar27 + 0x34)" identifier = (pointer_expression "*(int *)(iVar27 + 0x34)" * (cast_expression "(int *)(iVar27 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x34)" ( (binary_expression "iVar27 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "iVar31 = 8 - uVar20;" (assignment_expression "iVar31 = 8 - uVar20" identifier = (binary_expression "8 - uVar20" number_literal - identifier)) ;) (expression_statement "puVar36 = __s;" (assignment_expression "puVar36 = __s" identifier = identifier) ;) (while_statement "while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }" { (expression_statement "uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));" (assignment_expression "uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f))" identifier = (binary_expression "iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f))" identifier - (parenthesized_expression "(((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f))" ( (binary_expression "((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f)" (parenthesized_expression "((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f))" ( (binary_expression "(uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)" (binary_expression "(uint)(byte)*puVar36" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier) & (binary_expression "iVar22 << ((byte)iVar31 & 0x1f)" identifier << (parenthesized_expression "((byte)iVar31 & 0x1f)" ( (binary_expression "(byte)iVar31 & 0x1f" (cast_expression "(byte)iVar31" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) )) >> (parenthesized_expression "((byte)iVar31 & 0x1f)" ( (binary_expression "(byte)iVar31 & 0x1f" (cast_expression "(byte)iVar31" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )))) ;) (if_statement "if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }" { (expression_statement "*(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;" (assignment_expression "*(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38" (pointer_expression "*(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8)" * (cast_expression "(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + *(int *)(iVar27 + 0x44) * 8)" ( (binary_expression "iVar23 + *(int *)(iVar27 + 0x44) * 8" identifier + (binary_expression "*(int *)(iVar27 + 0x44) * 8" (pointer_expression "*(int *)(iVar27 + 0x44)" * (cast_expression "(int *)(iVar27 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x44)" ( (binary_expression "iVar27 + 0x44" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(double)uVar38" ( (type_descriptor "double" primitive_type) ) identifier)) ;) })) (expression_statement "iVar33 = uVar38 * 0x50 + iVar3;" (assignment_expression "iVar33 = uVar38 * 0x50 + iVar3" identifier = (binary_expression "uVar38 * 0x50 + iVar3" (binary_expression "uVar38 * 0x50" identifier * number_literal) + identifier)) ;) (expression_statement "*(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);" (assignment_expression "*(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20)" (pointer_expression "*(undefined8 *)(iVar23 + iVar5 * 8)" * (cast_expression "(undefined8 *)(iVar23 + iVar5 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + iVar5 * 8)" ( (binary_expression "iVar23 + iVar5 * 8" identifier + (binary_expression "iVar5 * 8" identifier * number_literal)) )))) = (pointer_expression "*(undefined8 *)(iVar33 + 0x20)" * (cast_expression "(undefined8 *)(iVar33 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0x20)" ( (binary_expression "iVar33 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);" (assignment_expression "*(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28)" (pointer_expression "*(undefined8 *)(iVar23 + iVar6 * 8)" * (cast_expression "(undefined8 *)(iVar23 + iVar6 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + iVar6 * 8)" ( (binary_expression "iVar23 + iVar6 * 8" identifier + (binary_expression "iVar6 * 8" identifier * number_literal)) )))) = (pointer_expression "*(undefined8 *)(iVar33 + 0x28)" * (cast_expression "(undefined8 *)(iVar33 + 0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0x28)" ( (binary_expression "iVar33 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);" (assignment_expression "*(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30)" (pointer_expression "*(undefined8 *)(iVar23 + iVar7 * 8)" * (cast_expression "(undefined8 *)(iVar23 + iVar7 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + iVar7 * 8)" ( (binary_expression "iVar23 + iVar7 * 8" identifier + (binary_expression "iVar7 * 8" identifier * number_literal)) )))) = (pointer_expression "*(undefined8 *)(iVar33 + 0x30)" * (cast_expression "(undefined8 *)(iVar33 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0x30)" ( (binary_expression "iVar33 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }" { (expression_statement "*(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);" (assignment_expression "*(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38)" (pointer_expression "*(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8)" * (cast_expression "(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + *(int *)(iVar27 + 0x2c) * 8)" ( (binary_expression "iVar23 + *(int *)(iVar27 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar27 + 0x2c) * 8" (pointer_expression "*(int *)(iVar27 + 0x2c)" * (cast_expression "(int *)(iVar27 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x2c)" ( (binary_expression "iVar27 + 0x2c" identifier + number_literal) )))) * number_literal)) )))) = (pointer_expression "*(undefined8 *)(iVar33 + 0x38)" * (cast_expression "(undefined8 *)(iVar33 + 0x38)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0x38)" ( (binary_expression "iVar33 + 0x38" identifier + number_literal) ))))) ;) })) (if_statement "if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }" { (expression_statement "fVar11 = fVar12;" (assignment_expression "fVar11 = fVar12" identifier = identifier) ;) (if_statement "if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }" if (parenthesized_expression "(*(int *)(iVar33 + 8) != 0)" ( (binary_expression "*(int *)(iVar33 + 8) != 0" (pointer_expression "*(int *)(iVar33 + 8)" * (cast_expression "(int *)(iVar33 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 8)" ( (binary_expression "iVar33 + 8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }" { (expression_statement "fVar11 = (float)*(double *)(iVar33 + 0x40);" (assignment_expression "fVar11 = (float)*(double *)(iVar33 + 0x40)" identifier = (cast_expression "(float)*(double *)(iVar33 + 0x40)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar33 + 0x40)" * (cast_expression "(double *)(iVar33 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0x40)" ( (binary_expression "iVar33 + 0x40" identifier + number_literal) )))))) ;) })) (expression_statement "*(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;" (assignment_expression "*(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11" (pointer_expression "*(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8)" * (cast_expression "(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + *(int *)(iVar27 + 0x38) * 8)" ( (binary_expression "iVar23 + *(int *)(iVar27 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar27 + 0x38) * 8" (pointer_expression "*(int *)(iVar27 + 0x38)" * (cast_expression "(int *)(iVar27 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x38)" ( (binary_expression "iVar27 + 0x38" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(double)fVar11" ( (type_descriptor "double" primitive_type) ) identifier)) ;) })) (if_statement "if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }" if (parenthesized_expression "(iVar31 == 0)" ( (binary_expression "iVar31 == 0" identifier == number_literal) )) (compound_statement "{\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }" { (expression_statement "puVar36 = (ushort *)((int)puVar36 + 1);" (assignment_expression "puVar36 = (ushort *)((int)puVar36 + 1)" identifier = (cast_expression "(ushort *)((int)puVar36 + 1)" ( (type_descriptor "ushort *" 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) )))) ;) (expression_statement "iVar31 = 8 - uVar20;" (assignment_expression "iVar31 = 8 - uVar20" identifier = (binary_expression "8 - uVar20" number_literal - identifier)) ;) }) (else_clause "else {\n                  iVar31 = iVar31 - uVar20;\n                }" else (compound_statement "{\n                  iVar31 = iVar31 - uVar20;\n                }" { (expression_statement "iVar31 = iVar31 - uVar20;" (assignment_expression "iVar31 = iVar31 - uVar20" identifier = (binary_expression "iVar31 - uVar20" identifier - identifier)) ;) }))) (if_statement "if (uVar26 == iVar34 + 1U) break;" if (parenthesized_expression "(uVar26 == iVar34 + 1U)" ( (binary_expression "uVar26 == iVar34 + 1U" identifier == (binary_expression "iVar34 + 1U" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "iVar34 = iVar34 + 1;" (assignment_expression "iVar34 = iVar34 + 1" identifier = (binary_expression "iVar34 + 1" identifier + number_literal)) ;) (expression_statement "iVar23 = iVar23 + iVar4 * 8;" (assignment_expression "iVar23 = iVar23 + iVar4 * 8" identifier = (binary_expression "iVar23 + iVar4 * 8" identifier + (binary_expression "iVar4 * 8" identifier * number_literal))) ;) (if_statement "if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;" if (parenthesized_expression "(uVar19 <= (uint)((int)puVar36 - (int)__s))" ( (binary_expression "uVar19 <= (uint)((int)puVar36 - (int)__s)" identifier <= (call_expression "(uint)((int)puVar36 - (int)__s)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar36 - (int)__s)" ( (binary_expression "(int)puVar36 - (int)__s" (cast_expression "(int)puVar36" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (goto_statement "goto LAB_002628e2;" goto statement_identifier ;)) })) })) (expression_statement "iVar23 = SyncAuthenticPixels(puVar17,param_2);" (assignment_expression "iVar23 = SyncAuthenticPixels(puVar17,param_2)" identifier = (call_expression "SyncAuthenticPixels(puVar17,param_2)" identifier (argument_list "(puVar17,param_2)" ( identifier , identifier )))) ;) (if_statement "if (iVar23 != 0) goto LAB_00262579;" if (parenthesized_expression "(iVar23 != 0)" ( (binary_expression "iVar23 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00262579;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (if_statement "if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }" if (parenthesized_expression "(uVar19 * 2 < uVar26)" ( (binary_expression "uVar19 * 2 < uVar26" (binary_expression "uVar19 * 2" identifier * number_literal) < identifier) )) (compound_statement "{\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }" { (expression_statement "RelinquishMagickMemory(__s);" (call_expression "RelinquishMagickMemory(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (if_statement "if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }" if (parenthesized_expression "(uVar21 == 0)" ( (binary_expression "uVar21 == 0" identifier == number_literal) )) (compound_statement "{\n              RelinquishMagickMemory(local_b0);\n            }" { (expression_statement "RelinquishMagickMemory(local_b0);" (call_expression "RelinquishMagickMemory(local_b0)" identifier (argument_list "(local_b0)" ( identifier ))) ;) })) (expression_statement "pcVar47 = "CorruptImage";" (assignment_expression "pcVar47 = "CorruptImage"" identifier = (string_literal ""CorruptImage"" " string_content ")) ;) (expression_statement "uVar46 = 0x1a9;" (assignment_expression "uVar46 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar45 = 0x1ec;" (assignment_expression "uVar45 = 0x1ec" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (if_statement "if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }" if (parenthesized_expression "(uVar26 == 0)" ( (binary_expression "uVar26 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }" { (labeled_statement "LAB_00262579:\n            iVar23 = puVar17[0xccf];" statement_identifier : (expression_statement "iVar23 = puVar17[0xccf];" (assignment_expression "iVar23 = puVar17[0xccf]" identifier = (subscript_expression "puVar17[0xccf]" identifier [ number_literal ])) ;)) (expression_statement "iVar27 = puVar17[7];" (assignment_expression "iVar27 = puVar17[7]" identifier = (subscript_expression "puVar17[7]" identifier [ number_literal ])) ;) }) (else_clause "else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }" else (compound_statement "{\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }" { (expression_statement "iVar27 = puVar17[0xaa];" (assignment_expression "iVar27 = puVar17[0xaa]" identifier = (subscript_expression "puVar17[0xaa]" identifier [ number_literal ])) ;) (expression_statement "iVar2 = puVar17[0xa6];" (assignment_expression "iVar2 = puVar17[0xa6]" identifier = (subscript_expression "puVar17[0xa6]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = *(int *)(iVar27 + 0x14);" (assignment_expression "iVar3 = *(int *)(iVar27 + 0x14)" identifier = (pointer_expression "*(int *)(iVar27 + 0x14)" * (cast_expression "(int *)(iVar27 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x14)" ( (binary_expression "iVar27 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(iVar27 + 8);" (assignment_expression "iVar4 = *(int *)(iVar27 + 8)" identifier = (pointer_expression "*(int *)(iVar27 + 8)" * (cast_expression "(int *)(iVar27 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 8)" ( (binary_expression "iVar27 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(iVar27 + 0x20);" (assignment_expression "iVar5 = *(int *)(iVar27 + 0x20)" identifier = (pointer_expression "*(int *)(iVar27 + 0x20)" * (cast_expression "(int *)(iVar27 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x20)" ( (binary_expression "iVar27 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }" if (parenthesized_expression "(*(int *)(iVar27 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar27 + 0x34) != 0" (pointer_expression "*(int *)(iVar27 + 0x34)" * (cast_expression "(int *)(iVar27 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x34)" ( (binary_expression "iVar27 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }" { (expression_statement "iVar27 = *(int *)(iVar27 + 0x38);" (assignment_expression "iVar27 = *(int *)(iVar27 + 0x38)" identifier = (pointer_expression "*(int *)(iVar27 + 0x38)" * (cast_expression "(int *)(iVar27 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x38)" ( (binary_expression "iVar27 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "puVar36 = __s;" (assignment_expression "puVar36 = __s" identifier = identifier) ;) (do_statement "do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);" do (compound_statement "{\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              }" { (expression_statement "fVar11 = DAT_00306a38;" (assignment_expression "fVar11 = DAT_00306a38" identifier = identifier) ;) (expression_statement "puVar32 = puVar36 + 1;" (assignment_expression "puVar32 = puVar36 + 1" identifier = (binary_expression "puVar36 + 1" identifier + number_literal)) ;) (expression_statement "uVar16 = *puVar36 << 8;" (assignment_expression "uVar16 = *puVar36 << 8" identifier = (binary_expression "*puVar36 << 8" (pointer_expression "*puVar36" * identifier) << number_literal)) ;) (expression_statement "uVar10 = *puVar36 >> 8;" (assignment_expression "uVar10 = *puVar36 >> 8" identifier = (binary_expression "*puVar36 >> 8" (pointer_expression "*puVar36" * identifier) >> number_literal)) ;) (expression_statement "*(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);" (assignment_expression "*(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38)" (pointer_expression "*(double *)(iVar23 + iVar4 * 8)" * (cast_expression "(double *)(iVar23 + iVar4 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + iVar4 * 8)" ( (binary_expression "iVar23 + iVar4 * 8" identifier + (binary_expression "iVar4 * 8" identifier * number_literal)) )))) = (cast_expression "(double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38)" ( (binary_expression "((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38" (parenthesized_expression "((float)(uVar16 >> 0xb) * fVar12)" ( (binary_expression "(float)(uVar16 >> 0xb) * fVar12" (cast_expression "(float)(uVar16 >> 0xb)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(uVar16 >> 0xb)" ( (binary_expression "uVar16 >> 0xb" identifier >> number_literal) ))) * identifier) )) / identifier) )))) ;) (expression_statement "*(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);" (assignment_expression "*(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4)" (pointer_expression "*(double *)(iVar23 + iVar3 * 8)" * (cast_expression "(double *)(iVar23 + iVar3 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + iVar3 * 8)" ( (binary_expression "iVar23 + iVar3 * 8" identifier + (binary_expression "iVar3 * 8" identifier * number_literal)) )))) = (cast_expression "(double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4)" ( (binary_expression "((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4" (parenthesized_expression "((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12)" ( (binary_expression "(float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12" (cast_expression "(float)((uVar16 | uVar10) >> 5 & 0x3f)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((uVar16 | uVar10) >> 5 & 0x3f)" ( (binary_expression "(uVar16 | uVar10) >> 5 & 0x3f" (binary_expression "(uVar16 | uVar10) >> 5" (parenthesized_expression "(uVar16 | uVar10)" ( (binary_expression "uVar16 | uVar10" identifier | identifier) )) >> number_literal) & number_literal) ))) * identifier) )) / identifier) )))) ;) (expression_statement "*(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);" (assignment_expression "*(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11)" (pointer_expression "*(double *)(iVar23 + iVar5 * 8)" * (cast_expression "(double *)(iVar23 + iVar5 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + iVar5 * 8)" ( (binary_expression "iVar23 + iVar5 * 8" identifier + (binary_expression "iVar5 * 8" identifier * number_literal)) )))) = (cast_expression "(double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(((float)(uVar10 & 0x1f) * fVar12) / fVar11)" ( (binary_expression "((float)(uVar10 & 0x1f) * fVar12) / fVar11" (parenthesized_expression "((float)(uVar10 & 0x1f) * fVar12)" ( (binary_expression "(float)(uVar10 & 0x1f) * fVar12" (cast_expression "(float)(uVar10 & 0x1f)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(uVar10 & 0x1f)" ( (binary_expression "uVar10 & 0x1f" identifier & number_literal) ))) * identifier) )) / identifier) )))) ;) (expression_statement "*(double *)(iVar23 + iVar27 * 8) = (double)fVar12;" (assignment_expression "*(double *)(iVar23 + iVar27 * 8) = (double)fVar12" (pointer_expression "*(double *)(iVar23 + iVar27 * 8)" * (cast_expression "(double *)(iVar23 + iVar27 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + iVar27 * 8)" ( (binary_expression "iVar23 + iVar27 * 8" identifier + (binary_expression "iVar27 * 8" identifier * number_literal)) )))) = (cast_expression "(double)fVar12" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "iVar23 = iVar23 + iVar2 * 8;" (assignment_expression "iVar23 = iVar23 + iVar2 * 8" identifier = (binary_expression "iVar23 + iVar2 * 8" identifier + (binary_expression "iVar2 * 8" identifier * number_literal))) ;) (expression_statement "puVar36 = puVar32;" (assignment_expression "puVar36 = puVar32" identifier = identifier) ;) }) while (parenthesized_expression "(puVar32 != __s + uVar26)" ( (binary_expression "puVar32 != __s + uVar26" identifier != (binary_expression "__s + uVar26" identifier + identifier)) )) ;) (goto_statement "goto LAB_00262579;" goto statement_identifier ;) })) (expression_statement "pdVar25 = (double *)(iVar23 + iVar4 * 8);" (assignment_expression "pdVar25 = (double *)(iVar23 + iVar4 * 8)" identifier = (cast_expression "(double *)(iVar23 + iVar4 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + iVar4 * 8)" ( (binary_expression "iVar23 + iVar4 * 8" identifier + (binary_expression "iVar4 * 8" identifier * number_literal)) )))) ;) (expression_statement "puVar36 = __s;" (assignment_expression "puVar36 = __s" identifier = identifier) ;) (do_statement "do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);" do (compound_statement "{\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            }" { (expression_statement "fVar11 = DAT_00306a38;" (assignment_expression "fVar11 = DAT_00306a38" identifier = identifier) ;) (expression_statement "puVar32 = puVar36 + 1;" (assignment_expression "puVar32 = puVar36 + 1" identifier = (binary_expression "puVar36 + 1" identifier + number_literal)) ;) (expression_statement "uVar16 = *puVar36 << 8;" (assignment_expression "uVar16 = *puVar36 << 8" identifier = (binary_expression "*puVar36 << 8" (pointer_expression "*puVar36" * identifier) << number_literal)) ;) (expression_statement "uVar10 = *puVar36 >> 8;" (assignment_expression "uVar10 = *puVar36 >> 8" identifier = (binary_expression "*puVar36 >> 8" (pointer_expression "*puVar36" * identifier) >> number_literal)) ;) (expression_statement "*pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);" (assignment_expression "*pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38)" (pointer_expression "*pdVar25" * identifier) = (cast_expression "(double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38)" ( (binary_expression "((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38" (parenthesized_expression "((float)(uVar16 >> 0xb) * fVar12)" ( (binary_expression "(float)(uVar16 >> 0xb) * fVar12" (cast_expression "(float)(uVar16 >> 0xb)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(uVar16 >> 0xb)" ( (binary_expression "uVar16 >> 0xb" identifier >> number_literal) ))) * identifier) )) / identifier) )))) ;) (expression_statement "pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);" (assignment_expression "pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4)" (subscript_expression "pdVar25[iVar3 - iVar4]" identifier [ (binary_expression "iVar3 - iVar4" identifier - identifier) ]) = (cast_expression "(double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4)" ( (binary_expression "((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4" (parenthesized_expression "((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12)" ( (binary_expression "(float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12" (cast_expression "(float)((uVar16 | uVar10) >> 5 & 0x3f)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((uVar16 | uVar10) >> 5 & 0x3f)" ( (binary_expression "(uVar16 | uVar10) >> 5 & 0x3f" (binary_expression "(uVar16 | uVar10) >> 5" (parenthesized_expression "(uVar16 | uVar10)" ( (binary_expression "uVar16 | uVar10" identifier | identifier) )) >> number_literal) & number_literal) ))) * identifier) )) / identifier) )))) ;) (expression_statement "pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);" (assignment_expression "pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11)" (subscript_expression "pdVar25[iVar5 - iVar4]" identifier [ (binary_expression "iVar5 - iVar4" identifier - identifier) ]) = (cast_expression "(double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(((float)(uVar10 & 0x1f) * fVar12) / fVar11)" ( (binary_expression "((float)(uVar10 & 0x1f) * fVar12) / fVar11" (parenthesized_expression "((float)(uVar10 & 0x1f) * fVar12)" ( (binary_expression "(float)(uVar10 & 0x1f) * fVar12" (cast_expression "(float)(uVar10 & 0x1f)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(uVar10 & 0x1f)" ( (binary_expression "uVar10 & 0x1f" identifier & number_literal) ))) * identifier) )) / identifier) )))) ;) (expression_statement "pdVar25 = pdVar25 + iVar2;" (assignment_expression "pdVar25 = pdVar25 + iVar2" identifier = (binary_expression "pdVar25 + iVar2" identifier + identifier)) ;) (expression_statement "puVar36 = puVar32;" (assignment_expression "puVar36 = puVar32" identifier = identifier) ;) }) while (parenthesized_expression "(__s + uVar26 != puVar32)" ( (binary_expression "__s + uVar26 != puVar32" (binary_expression "__s + uVar26" identifier + identifier) != identifier) )) ;) (expression_statement "iVar23 = puVar17[0xccf];" (assignment_expression "iVar23 = puVar17[0xccf]" identifier = (subscript_expression "puVar17[0xccf]" identifier [ number_literal ])) ;) (expression_statement "iVar27 = puVar17[7];" (assignment_expression "iVar27 = puVar17[7]" identifier = (subscript_expression "puVar17[7]" identifier [ number_literal ])) ;) }))) (if_statement "if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }" if (parenthesized_expression "(iVar23 == 0)" ( (binary_expression "iVar23 == 0" identifier == number_literal) )) (compound_statement "{\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }" { (expression_statement "local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);" (assignment_expression "local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0)" identifier = (call_expression "SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0)" identifier (argument_list "(puVar17,"Load/Image",local_ac,local_a8,iVar27,0)" ( identifier , (string_literal ""Load/Image"" " string_content ") , identifier , identifier , identifier , number_literal )))) ;) (if_statement "if (local_9c == 0) break;" if (parenthesized_expression "(local_9c == 0)" ( (binary_expression "local_9c == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar27 = puVar17[7];" (assignment_expression "iVar27 = puVar17[7]" identifier = (subscript_expression "puVar17[7]" identifier [ number_literal ])) ;) })) (expression_statement "local_c8 = local_c8 + 1;" (assignment_expression "local_c8 = local_c8 + 1" identifier = (binary_expression "local_c8 + 1" identifier + number_literal)) ;) (expression_statement "bVar40 = 0xfffffffe < local_ac;" (assignment_expression "bVar40 = 0xfffffffe < local_ac" identifier = (binary_expression "0xfffffffe < local_ac" number_literal < identifier)) ;) (expression_statement "local_ac = local_ac + 1;" (assignment_expression "local_ac = local_ac + 1" identifier = (binary_expression "local_ac + 1" identifier + number_literal)) ;) (expression_statement "local_a8 = local_a8 + (uint)bVar40;" (assignment_expression "local_a8 = local_a8 + (uint)bVar40" identifier = (binary_expression "local_a8 + (uint)bVar40" identifier + (cast_expression "(uint)bVar40" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }) while (parenthesized_expression "(local_c8 < iVar27)" ( (binary_expression "local_c8 < iVar27" identifier < identifier) )) ;) })) (if_statement "if ((uVar14 & 0x2000) != 0) {\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }" if (parenthesized_expression "((uVar14 & 0x2000) != 0)" ( (binary_expression "(uVar14 & 0x2000) != 0" (parenthesized_expression "(uVar14 & 0x2000)" ( (binary_expression "uVar14 & 0x2000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }" { (expression_statement "iVar22 = iVar22 - iVar18;" (assignment_expression "iVar22 = iVar22 - iVar18" identifier = (binary_expression "iVar22 - iVar18" identifier - identifier)) ;) (if_statement "if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }" if (parenthesized_expression "(((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9))" ( (binary_expression "((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)" (parenthesized_expression "((iVar22 < 0) || ((int)puVar17[9] <= iVar22))" ( (binary_expression "(iVar22 < 0) || ((int)puVar17[9] <= iVar22)" (parenthesized_expression "(iVar22 < 0)" ( (binary_expression "iVar22 < 0" identifier < number_literal) )) || (parenthesized_expression "((int)puVar17[9] <= iVar22)" ( (binary_expression "(int)puVar17[9] <= iVar22" (cast_expression "(int)puVar17[9]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar17[9]" identifier [ number_literal ])) <= identifier) ))) )) && (parenthesized_expression "(iVar22 = 0, *param_2 != 0x1a9)" ( (comma_expression "iVar22 = 0, *param_2 != 0x1a9" (assignment_expression "iVar22 = 0" identifier = number_literal) , (binary_expression "*param_2 != 0x1a9" (pointer_expression "*param_2" * identifier) != number_literal)) ))) )) (compound_statement "{\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }" { (expression_statement "ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);" (call_expression "ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6)" identifier (argument_list "(param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6)" ( identifier , (string_literal ""./MagickCore/colormap-private.h"" " string_content ") , (string_literal ""ConstrainColormapIndex"" " string_content ") , number_literal , number_literal , (string_literal ""InvalidColormapIndex"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (binary_expression "puVar17 + 0xc6" identifier + number_literal) ))) ;) })) (if_statement "if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }" if (parenthesized_expression "(uVar20 != 0x10)" ( (binary_expression "uVar20 != 0x10" identifier != number_literal) )) (compound_statement "{\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }" { (expression_statement "puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);" (assignment_expression "puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10])" identifier = (cast_expression "(undefined4 *)(iVar22 * 0x50 + puVar17[10])" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 * 0x50 + puVar17[10])" ( (binary_expression "iVar22 * 0x50 + puVar17[10]" (binary_expression "iVar22 * 0x50" identifier * number_literal) + (subscript_expression "puVar17[10]" identifier [ number_literal ])) )))) ;) (expression_statement "puVar39 = local_a0;" (assignment_expression "puVar39 = local_a0" identifier = identifier) ;) (for_statement "for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }" for ( (assignment_expression "iVar18 = 0x14" identifier = number_literal) ; (binary_expression "iVar18 != 0" identifier != number_literal) ; (assignment_expression "iVar18 = iVar18 + -1" identifier = (binary_expression "iVar18 + -1" identifier + number_literal)) ) (compound_statement "{\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }" { (expression_statement "*puVar39 = *puVar24;" (assignment_expression "*puVar39 = *puVar24" (pointer_expression "*puVar39" * identifier) = (pointer_expression "*puVar24" * identifier)) ;) (expression_statement "puVar24 = puVar24 + (uint)bVar41 * -2 + 1;" (assignment_expression "puVar24 = puVar24 + (uint)bVar41 * -2 + 1" identifier = (binary_expression "puVar24 + (uint)bVar41 * -2 + 1" (binary_expression "puVar24 + (uint)bVar41 * -2" identifier + (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar39 = puVar39 + (uint)bVar41 * -2 + 1;" (assignment_expression "puVar39 = puVar39 + (uint)bVar41 * -2 + 1" identifier = (binary_expression "puVar39 + (uint)bVar41 * -2 + 1" (binary_expression "puVar39 + (uint)bVar41 * -2" identifier + (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) })) (expression_statement "TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);" (call_expression "TransparentPaintImage(puVar17,local_a0,0,0,0,param_2)" identifier (argument_list "(puVar17,local_a0,0,0,0,param_2)" ( identifier , identifier , number_literal , number_literal , number_literal , identifier ))) ;) })) (expression_statement "RelinquishMagickMemory(__s);" (call_expression "RelinquishMagickMemory(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (if_statement "if (uVar21 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }" if (parenthesized_expression "(uVar21 == 0)" ( (binary_expression "uVar21 == 0" identifier == number_literal) )) (compound_statement "{\n        RelinquishMagickMemory(local_b0);\n      }" { (expression_statement "RelinquishMagickMemory(local_b0);" (call_expression "RelinquishMagickMemory(local_b0)" identifier (argument_list "(local_b0)" ( identifier ))) ;) })) (expression_statement "iVar18 = EOFBlob(puVar17);" (assignment_expression "iVar18 = EOFBlob(puVar17)" identifier = (call_expression "EOFBlob(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (if_statement "if (iVar18 != 0) {\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }" { (expression_statement "piVar30 = __errno_location();" (assignment_expression "piVar30 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar45 = GetExceptionMessage(*piVar30);" (assignment_expression "uVar45 = GetExceptionMessage(*piVar30)" identifier = (call_expression "GetExceptionMessage(*piVar30)" identifier (argument_list "(*piVar30)" ( (pointer_expression "*piVar30" * identifier) )))) ;) (expression_statement "ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);" (call_expression "ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45)" identifier (argument_list "(param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45)" ( identifier , (string_literal ""coders/palm.c"" " string_content ") , (string_literal ""ReadPALMImage"" " 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 "puVar17 + 0xc6" identifier + number_literal) , identifier ))) ;) (expression_statement "DestroyString(uVar45);" (call_expression "DestroyString(uVar45)" identifier (argument_list "(uVar45)" ( identifier ))) ;) (labeled_statement "LAB_0026266b:\n        CloseBlob(puVar17);" statement_identifier : (expression_statement "CloseBlob(puVar17);" (call_expression "CloseBlob(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;)) (if_statement "if (local_9c == 0) goto LAB_00262f23;" if (parenthesized_expression "(local_9c == 0)" ( (binary_expression "local_9c == 0" identifier == number_literal) )) (goto_statement "goto LAB_00262f23;" goto statement_identifier ;)) (expression_statement "puVar24 = (undefined4 *)GetFirstImageInList(puVar17);" (assignment_expression "puVar24 = (undefined4 *)GetFirstImageInList(puVar17)" identifier = (cast_expression "(undefined4 *)GetFirstImageInList(puVar17)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetFirstImageInList(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))))) ;) (goto_statement "goto LAB_002621b8;" goto statement_identifier ;) })) (if_statement "if (((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)) goto LAB_0026266b;" if (parenthesized_expression "(((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0))" ( (binary_expression "((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)" (parenthesized_expression "((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91]))" ( (binary_expression "(*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])" (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)puVar17[0x91])" ( (binary_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[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)puVar17[0x91]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar17[0x91]" identifier [ number_literal ]))) ))) )) || (parenthesized_expression "(uVar15 == 0)" ( (binary_expression "uVar15 == 0" identifier == number_literal) ))) )) (goto_statement "goto LAB_0026266b;" goto statement_identifier ;)) (expression_statement "uVar19 = (uint)uVar15 * 4;" (assignment_expression "uVar19 = (uint)uVar15 * 4" identifier = (binary_expression "(uint)uVar15 * 4" (cast_expression "(uint)uVar15" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) ;) (expression_statement "bVar40 = CARRY4(local_94,uVar19);" (assignment_expression "bVar40 = CARRY4(local_94,uVar19)" identifier = (call_expression "CARRY4(local_94,uVar19)" identifier (argument_list "(local_94,uVar19)" ( identifier , identifier )))) ;) (expression_statement "local_94 = local_94 + uVar19;" (assignment_expression "local_94 = local_94 + uVar19" identifier = (binary_expression "local_94 + uVar19" identifier + identifier)) ;) (expression_statement "local_90 = local_90 + (uint)bVar40;" (assignment_expression "local_90 = local_90 + (uint)bVar40" identifier = (binary_expression "local_90 + (uint)bVar40" identifier + (cast_expression "(uint)bVar40" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "lVar44 = GetBlobSize(puVar17);" (assignment_expression "lVar44 = GetBlobSize(puVar17)" identifier = (call_expression "GetBlobSize(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (if_statement "if (lVar44 <= CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }" if (parenthesized_expression "(lVar44 <= CONCAT44(local_90,local_94))" ( (binary_expression "lVar44 <= CONCAT44(local_90,local_94)" identifier <= (call_expression "CONCAT44(local_90,local_94)" identifier (argument_list "(local_90,local_94)" ( identifier , identifier )))) )) (compound_statement "{\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }" { (expression_statement "pcVar47 = "ImproperImageHeader";" (assignment_expression "pcVar47 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar46 = 0x1a9;" (assignment_expression "uVar46 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar45 = 0x23e;" (assignment_expression "uVar45 = 0x23e" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "lVar44 = SeekBlob(puVar17,local_94,local_90,0);" (assignment_expression "lVar44 = SeekBlob(puVar17,local_94,local_90,0)" identifier = (call_expression "SeekBlob(puVar17,local_94,local_90,0)" identifier (argument_list "(puVar17,local_94,local_90,0)" ( identifier , identifier , identifier , number_literal )))) ;) (if_statement "if (lVar44 != CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }" if (parenthesized_expression "(lVar44 != CONCAT44(local_90,local_94))" ( (binary_expression "lVar44 != CONCAT44(local_90,local_94)" identifier != (call_expression "CONCAT44(local_90,local_94)" identifier (argument_list "(local_90,local_94)" ( identifier , identifier )))) )) (compound_statement "{\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }" { (expression_statement "pcVar47 = "ImproperImageHeader";" (assignment_expression "pcVar47 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar46 = 0x1a9;" (assignment_expression "uVar46 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar45 = 0x242;" (assignment_expression "uVar45 = 0x242" identifier = number_literal) ;) (goto_statement "goto LAB_0026218b;" goto statement_identifier ;) })) (expression_statement "AcquireNextImage(param_1,puVar17,param_2);" (call_expression "AcquireNextImage(param_1,puVar17,param_2)" identifier (argument_list "(param_1,puVar17,param_2)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar18 = GetNextImageInList(puVar17);" (assignment_expression "iVar18 = GetNextImageInList(puVar17)" identifier = (call_expression "GetNextImageInList(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (if_statement "if (iVar18 == 0) break;" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar17 = (undefined4 *)SyncNextImageInList(puVar17);" (assignment_expression "puVar17 = (undefined4 *)SyncNextImageInList(puVar17)" identifier = (cast_expression "(undefined4 *)SyncNextImageInList(puVar17)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "SyncNextImageInList(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))))) ;) (expression_statement "uVar42 = GetBlobSize(puVar17);" (assignment_expression "uVar42 = GetBlobSize(puVar17)" identifier = (call_expression "GetBlobSize(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "uVar43 = TellBlob(puVar17);" (assignment_expression "uVar43 = TellBlob(puVar17)" identifier = (call_expression "TellBlob(puVar17)" identifier (argument_list "(puVar17)" ( identifier )))) ;) (expression_statement "iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42);" (assignment_expression "iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42)" identifier = (call_expression "SetImageProgress(puVar17,"Load/Images",uVar43,uVar42)" identifier (argument_list "(puVar17,"Load/Images",uVar43,uVar42)" ( identifier , (string_literal ""Load/Images"" " string_content ") , identifier , identifier )))) ;) }) while (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) ;) (expression_statement "CloseBlob(puVar17);" (call_expression "CloseBlob(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))) ;) (labeled_statement "LAB_00262f23:\n    puVar24 = (undefined4 *)DestroyImageList(puVar17);" statement_identifier : (expression_statement "puVar24 = (undefined4 *)DestroyImageList(puVar17);" (assignment_expression "puVar24 = (undefined4 *)DestroyImageList(puVar17)" identifier = (cast_expression "(undefined4 *)DestroyImageList(puVar17)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "DestroyImageList(puVar17)" identifier (argument_list "(puVar17)" ( identifier ))))) ;)) }))) (labeled_statement "LAB_002621b8:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_002decd0();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_002decd0();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n    FUN_002decd0();\n  }" { (expression_statement "FUN_002decd0();" (call_expression "FUN_002decd0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return puVar24;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE 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 IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (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 )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression 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 = (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (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 = (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 LIT < IDENT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))) & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < 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 ( IDENT )))) ;) (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 IDENT != LIT) )) && (parenthesized_expression ( (binary_expression LIT < 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 (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 , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (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 )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT * (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) / IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) )) / IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) )) / IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT) < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression LIT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , LIT , (string_literal " string_content ") , (string_literal " string_content escape_sequence ") , (binary_expression IDENT + LIT) ))) ;) })) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) * IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) )) ;) }) (else_clause else (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 = LIT) ;) (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , LIT , (string_literal " string_content ") , (string_literal " string_content escape_sequence ") , (binary_expression IDENT + LIT) ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) + IDENT) )))) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) + IDENT) )))) = (binary_expression IDENT * (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) + IDENT) )))) = (binary_expression IDENT * (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) != IDENT) )) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT) < LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT) < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (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 ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) * LIT) ))) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (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 (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) * LIT) ))) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (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 ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) * LIT) ))) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression LIT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) )) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & (binary_expression LIT << (parenthesized_expression ( (binary_expression (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) & LIT) )))) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) & LIT) )) + LIT)) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) })))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( 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 , LIT , IDENT , (subscript_expression IDENT [ LIT ]) , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (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 = (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 = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) * IDENT) & (binary_expression IDENT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) )) >> (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (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 (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) (if_statement if (parenthesized_expression ( (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 = (binary_expression LIT - IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) )) (goto_statement goto statement_identifier ;)) })) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (break_statement break ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) < IDENT) )) (compound_statement { (expression_statement (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 = (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 IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) << LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) >> LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) ))) * IDENT) )) / IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT | IDENT) )) >> LIT) & LIT) ))) * IDENT) )) / IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT & LIT) ))) * IDENT) )) / IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + IDENT)) )) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) << LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) >> LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) ))) * IDENT) )) / IDENT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT - IDENT) ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT | IDENT) )) >> LIT) & LIT) ))) * IDENT) )) / IDENT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT - IDENT) ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT & LIT) ))) * IDENT) )) / IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT , IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT < IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= IDENT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (pointer_expression * IDENT) != LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , LIT , (string_literal " string_content ") , (string_literal " string_content escape_sequence ") , (binary_expression IDENT + LIT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + (subscript_expression IDENT [ LIT ])) )))) ;) (expression_statement (assignment_expression IDENT = 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) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , LIT , LIT , IDENT ))) ;) })) (expression_statement (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 = (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 ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (goto_statement goto 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 (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 ]))) ))) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (call_expression IDENT (argument_list ( 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 ( IDENT , IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (call_expression IDENT (argument_list ( 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 (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;)) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (return_statement return IDENT ;) })))
(function_definition "undefined4 * FUN_00262010(int param_1,int *param_2)\n\n{\n  double dVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  ushort uVar10;\n  float fVar11;\n  float fVar12;\n  byte bVar13;\n  ushort uVar14;\n  ushort uVar15;\n  ushort uVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  uint uVar19;\n  uint uVar20;\n  uint uVar21;\n  int iVar22;\n  ushort *__s;\n  int iVar23;\n  undefined4 *puVar24;\n  double *pdVar25;\n  uint uVar26;\n  int iVar27;\n  byte *pbVar28;\n  size_t sVar29;\n  int *piVar30;\n  int iVar31;\n  ushort *puVar32;\n  int iVar33;\n  int iVar34;\n  uint uVar35;\n  ushort *puVar36;\n  byte *pbVar37;\n  size_t __n;\n  uint uVar38;\n  undefined4 *puVar39;\n  int in_GS_OFFSET;\n  bool bVar40;\n  byte bVar41;\n  undefined8 uVar42;\n  undefined8 uVar43;\n  longlong lVar44;\n  undefined4 uVar45;\n  undefined4 uVar46;\n  char *pcVar47;\n  int local_10c;\n  int local_f4;\n  int local_c8;\n  void *local_b0;\n  uint local_ac;\n  int local_a8;\n  undefined4 *local_a0;\n  int local_9c;\n  uint local_94;\n  int local_90;\n  undefined4 local_70 [8];\n  double local_50;\n  double local_48;\n  double local_40;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar41 = 0;\n  uStack_14 = 0x262019;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/palm.c",0x124,"ReadPALMImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,\n                  "ReadPALMImage");\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/palm.c","ReadPALMImage",0x127,&DAT_002f75ae,param_1 + 0x21f0);\n  }\n  if (param_2 == (int *)0x0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage");\n  }\n  if (param_2[7] != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage");\n  }\n  puVar17 = (undefined4 *)AcquireImage(param_1,param_2);\n  iVar18 = OpenBlob(param_1,puVar17,2,param_2);\n  local_94 = 0;\n  local_90 = 0;\n  if (iVar18 == 0) {\n    puVar24 = (undefined4 *)0x0;\n    DestroyImageList(puVar17);\n  }\n  else {\n    do {\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[6] = uVar19 & 0xffff;\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[7] = uVar19 & 0xffff;\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((puVar17[6] == 0) || (puVar17[7] == 0)) {\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }\n      iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (iVar18 == 0) goto LAB_00262f23;\n      SetImageBackgroundColor(puVar17,param_2);\n      uVar19 = ReadBlobMSBShort(puVar17);\n      uVar19 = uVar19 & 0xffff;\n      uVar14 = ReadBlobMSBShort(puVar17);\n      uVar20 = ReadBlobByte(puVar17);\n      if ((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)) {\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar21 = ReadBlobByte(puVar17);\n      if (2 < uVar21) {\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar15 = ReadBlobMSBShort(puVar17);\n      iVar18 = ReadBlobByte(puVar17);\n      uVar21 = ReadBlobByte(puVar17);\n      if ((uVar21 != 0xff) && (1 < uVar21)) {\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(puVar17);\n      if (uVar20 == 0x10) {\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }\n      else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }\nLAB_002622bf:\n      local_a0 = local_70;\n      if (*(int *)(param_1 + 0x1bc) != 0) {\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (local_9c == 0) goto LAB_00262f23;\n      uVar26 = puVar17[6] * 2;\n      if ((uint)(puVar17[6] * 2) < uVar19) {\n        uVar26 = uVar19;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar26,1);\n      if (__s == (ushort *)0x0) {\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar26);\n      local_b0 = (void *)0x0;\n      if (uVar21 == 0) {\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }\n      iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1;\n      if (0 < (int)puVar17[7]) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }\n      if ((uVar14 & 0x2000) != 0) {\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar21 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }\n      if (((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)) goto LAB_0026266b;\n      uVar19 = (uint)uVar15 * 4;\n      bVar40 = CARRY4(local_94,uVar19);\n      local_94 = local_94 + uVar19;\n      local_90 = local_90 + (uint)bVar40;\n      lVar44 = GetBlobSize(puVar17);\n      if (lVar44 <= CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }\n      lVar44 = SeekBlob(puVar17,local_94,local_90,0);\n      if (lVar44 != CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(param_1,puVar17,param_2);\n      iVar18 = GetNextImageInList(puVar17);\n      if (iVar18 == 0) break;\n      puVar17 = (undefined4 *)SyncNextImageInList(puVar17);\n      uVar42 = GetBlobSize(puVar17);\n      uVar43 = TellBlob(puVar17);\n      iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42);\n    } while (iVar18 != 0);\n    CloseBlob(puVar17);\nLAB_00262f23:\n    puVar24 = (undefined4 *)DestroyImageList(puVar17);\n  }\nLAB_002621b8:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_002decd0();\n  }\n  return puVar24;\n}" (type_identifier "undefined4") (pointer_declarator "* FUN_00262010(int param_1,int *param_2)" (* "*") (function_declarator "FUN_00262010(int param_1,int *param_2)" (identifier "FUN_00262010") (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") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")")))) (compound_statement "{\n  double dVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  ushort uVar10;\n  float fVar11;\n  float fVar12;\n  byte bVar13;\n  ushort uVar14;\n  ushort uVar15;\n  ushort uVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  uint uVar19;\n  uint uVar20;\n  uint uVar21;\n  int iVar22;\n  ushort *__s;\n  int iVar23;\n  undefined4 *puVar24;\n  double *pdVar25;\n  uint uVar26;\n  int iVar27;\n  byte *pbVar28;\n  size_t sVar29;\n  int *piVar30;\n  int iVar31;\n  ushort *puVar32;\n  int iVar33;\n  int iVar34;\n  uint uVar35;\n  ushort *puVar36;\n  byte *pbVar37;\n  size_t __n;\n  uint uVar38;\n  undefined4 *puVar39;\n  int in_GS_OFFSET;\n  bool bVar40;\n  byte bVar41;\n  undefined8 uVar42;\n  undefined8 uVar43;\n  longlong lVar44;\n  undefined4 uVar45;\n  undefined4 uVar46;\n  char *pcVar47;\n  int local_10c;\n  int local_f4;\n  int local_c8;\n  void *local_b0;\n  uint local_ac;\n  int local_a8;\n  undefined4 *local_a0;\n  int local_9c;\n  uint local_94;\n  int local_90;\n  undefined4 local_70 [8];\n  double local_50;\n  double local_48;\n  double local_40;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar41 = 0;\n  uStack_14 = 0x262019;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/palm.c",0x124,"ReadPALMImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,\n                  "ReadPALMImage");\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/palm.c","ReadPALMImage",0x127,&DAT_002f75ae,param_1 + 0x21f0);\n  }\n  if (param_2 == (int *)0x0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage");\n  }\n  if (param_2[7] != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage");\n  }\n  puVar17 = (undefined4 *)AcquireImage(param_1,param_2);\n  iVar18 = OpenBlob(param_1,puVar17,2,param_2);\n  local_94 = 0;\n  local_90 = 0;\n  if (iVar18 == 0) {\n    puVar24 = (undefined4 *)0x0;\n    DestroyImageList(puVar17);\n  }\n  else {\n    do {\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[6] = uVar19 & 0xffff;\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[7] = uVar19 & 0xffff;\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((puVar17[6] == 0) || (puVar17[7] == 0)) {\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }\n      iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (iVar18 == 0) goto LAB_00262f23;\n      SetImageBackgroundColor(puVar17,param_2);\n      uVar19 = ReadBlobMSBShort(puVar17);\n      uVar19 = uVar19 & 0xffff;\n      uVar14 = ReadBlobMSBShort(puVar17);\n      uVar20 = ReadBlobByte(puVar17);\n      if ((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)) {\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar21 = ReadBlobByte(puVar17);\n      if (2 < uVar21) {\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar15 = ReadBlobMSBShort(puVar17);\n      iVar18 = ReadBlobByte(puVar17);\n      uVar21 = ReadBlobByte(puVar17);\n      if ((uVar21 != 0xff) && (1 < uVar21)) {\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(puVar17);\n      if (uVar20 == 0x10) {\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }\n      else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }\nLAB_002622bf:\n      local_a0 = local_70;\n      if (*(int *)(param_1 + 0x1bc) != 0) {\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (local_9c == 0) goto LAB_00262f23;\n      uVar26 = puVar17[6] * 2;\n      if ((uint)(puVar17[6] * 2) < uVar19) {\n        uVar26 = uVar19;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar26,1);\n      if (__s == (ushort *)0x0) {\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar26);\n      local_b0 = (void *)0x0;\n      if (uVar21 == 0) {\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }\n      iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1;\n      if (0 < (int)puVar17[7]) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }\n      if ((uVar14 & 0x2000) != 0) {\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar21 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }\n      if (((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)) goto LAB_0026266b;\n      uVar19 = (uint)uVar15 * 4;\n      bVar40 = CARRY4(local_94,uVar19);\n      local_94 = local_94 + uVar19;\n      local_90 = local_90 + (uint)bVar40;\n      lVar44 = GetBlobSize(puVar17);\n      if (lVar44 <= CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }\n      lVar44 = SeekBlob(puVar17,local_94,local_90,0);\n      if (lVar44 != CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(param_1,puVar17,param_2);\n      iVar18 = GetNextImageInList(puVar17);\n      if (iVar18 == 0) break;\n      puVar17 = (undefined4 *)SyncNextImageInList(puVar17);\n      uVar42 = GetBlobSize(puVar17);\n      uVar43 = TellBlob(puVar17);\n      iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42);\n    } while (iVar18 != 0);\n    CloseBlob(puVar17);\nLAB_00262f23:\n    puVar24 = (undefined4 *)DestroyImageList(puVar17);\n  }\nLAB_002621b8:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_002decd0();\n  }\n  return puVar24;\n}" ({ "{") (declaration "double dVar1;" (primitive_type "double") (identifier "dVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "ushort uVar10;" (type_identifier "ushort") (identifier "uVar10") (; ";")) (declaration "float fVar11;" (primitive_type "float") (identifier "fVar11") (; ";")) (declaration "float fVar12;" (primitive_type "float") (identifier "fVar12") (; ";")) (declaration "byte bVar13;" (type_identifier "byte") (identifier "bVar13") (; ";")) (declaration "ushort uVar14;" (type_identifier "ushort") (identifier "uVar14") (; ";")) (declaration "ushort uVar15;" (type_identifier "ushort") (identifier "uVar15") (; ";")) (declaration "ushort uVar16;" (type_identifier "ushort") (identifier "uVar16") (; ";")) (declaration "undefined4 *puVar17;" (type_identifier "undefined4") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "uint uVar19;" (type_identifier "uint") (identifier "uVar19") (; ";")) (declaration "uint uVar20;" (type_identifier "uint") (identifier "uVar20") (; ";")) (declaration "uint uVar21;" (type_identifier "uint") (identifier "uVar21") (; ";")) (declaration "int iVar22;" (primitive_type "int") (identifier "iVar22") (; ";")) (declaration "ushort *__s;" (type_identifier "ushort") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "int iVar23;" (primitive_type "int") (identifier "iVar23") (; ";")) (declaration "undefined4 *puVar24;" (type_identifier "undefined4") (pointer_declarator "*puVar24" (* "*") (identifier "puVar24")) (; ";")) (declaration "double *pdVar25;" (primitive_type "double") (pointer_declarator "*pdVar25" (* "*") (identifier "pdVar25")) (; ";")) (declaration "uint uVar26;" (type_identifier "uint") (identifier "uVar26") (; ";")) (declaration "int iVar27;" (primitive_type "int") (identifier "iVar27") (; ";")) (declaration "byte *pbVar28;" (type_identifier "byte") (pointer_declarator "*pbVar28" (* "*") (identifier "pbVar28")) (; ";")) (declaration "size_t sVar29;" (primitive_type "size_t") (identifier "sVar29") (; ";")) (declaration "int *piVar30;" (primitive_type "int") (pointer_declarator "*piVar30" (* "*") (identifier "piVar30")) (; ";")) (declaration "int iVar31;" (primitive_type "int") (identifier "iVar31") (; ";")) (declaration "ushort *puVar32;" (type_identifier "ushort") (pointer_declarator "*puVar32" (* "*") (identifier "puVar32")) (; ";")) (declaration "int iVar33;" (primitive_type "int") (identifier "iVar33") (; ";")) (declaration "int iVar34;" (primitive_type "int") (identifier "iVar34") (; ";")) (declaration "uint uVar35;" (type_identifier "uint") (identifier "uVar35") (; ";")) (declaration "ushort *puVar36;" (type_identifier "ushort") (pointer_declarator "*puVar36" (* "*") (identifier "puVar36")) (; ";")) (declaration "byte *pbVar37;" (type_identifier "byte") (pointer_declarator "*pbVar37" (* "*") (identifier "pbVar37")) (; ";")) (declaration "size_t __n;" (primitive_type "size_t") (identifier "__n") (; ";")) (declaration "uint uVar38;" (type_identifier "uint") (identifier "uVar38") (; ";")) (declaration "undefined4 *puVar39;" (type_identifier "undefined4") (pointer_declarator "*puVar39" (* "*") (identifier "puVar39")) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "bool bVar40;" (primitive_type "bool") (identifier "bVar40") (; ";")) (declaration "byte bVar41;" (type_identifier "byte") (identifier "bVar41") (; ";")) (declaration "undefined8 uVar42;" (type_identifier "undefined8") (identifier "uVar42") (; ";")) (declaration "undefined8 uVar43;" (type_identifier "undefined8") (identifier "uVar43") (; ";")) (declaration "longlong lVar44;" (type_identifier "longlong") (identifier "lVar44") (; ";")) (declaration "undefined4 uVar45;" (type_identifier "undefined4") (identifier "uVar45") (; ";")) (declaration "undefined4 uVar46;" (type_identifier "undefined4") (identifier "uVar46") (; ";")) (declaration "char *pcVar47;" (primitive_type "char") (pointer_declarator "*pcVar47" (* "*") (identifier "pcVar47")) (; ";")) (declaration "int local_10c;" (primitive_type "int") (identifier "local_10c") (; ";")) (declaration "int local_f4;" (primitive_type "int") (identifier "local_f4") (; ";")) (declaration "int local_c8;" (primitive_type "int") (identifier "local_c8") (; ";")) (declaration "void *local_b0;" (primitive_type "void") (pointer_declarator "*local_b0" (* "*") (identifier "local_b0")) (; ";")) (declaration "uint local_ac;" (type_identifier "uint") (identifier "local_ac") (; ";")) (declaration "int local_a8;" (primitive_type "int") (identifier "local_a8") (; ";")) (declaration "undefined4 *local_a0;" (type_identifier "undefined4") (pointer_declarator "*local_a0" (* "*") (identifier "local_a0")) (; ";")) (declaration "int local_9c;" (primitive_type "int") (identifier "local_9c") (; ";")) (declaration "uint local_94;" (type_identifier "uint") (identifier "local_94") (; ";")) (declaration "int local_90;" (primitive_type "int") (identifier "local_90") (; ";")) (declaration "undefined4 local_70 [8];" (type_identifier "undefined4") (array_declarator "local_70 [8]" (identifier "local_70") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "double local_50;" (primitive_type "double") (identifier "local_50") (; ";")) (declaration "double local_48;" (primitive_type "double") (identifier "local_48") (; ";")) (declaration "double local_40;" (primitive_type "double") (identifier "local_40") (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "bVar41 = 0;" (assignment_expression "bVar41 = 0" (identifier "bVar41") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_14 = 0x262019;" (assignment_expression "uStack_14 = 0x262019" (identifier "uStack_14") (= "=") (number_literal "0x262019")) (; ";")) (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/palm.c",0x124,"ReadPALMImage");\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/palm.c",0x124,"ReadPALMImage");\n  }" ({ "{") (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","coders/palm.c",0x124,"ReadPALMImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","coders/palm.c",0x124,"ReadPALMImage")" (identifier "__assert_fail") (argument_list "("image_info != (const ImageInfo *) NULL","coders/palm.c",0x124,"ReadPALMImage")" (( "(") (string_literal ""image_info != (const ImageInfo *) NULL"" (" """) (string_content "image_info != (const ImageInfo *) NULL") (" """)) (, ",") (string_literal ""coders/palm.c"" (" """) (string_content "coders/palm.c") (" """)) (, ",") (number_literal "0x124") (, ",") (string_literal ""ReadPALMImage"" (" """) (string_content "ReadPALMImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,\n                  "ReadPALMImage");\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/palm.c",0x125,\n                  "ReadPALMImage");\n  }" ({ "{") (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,\n                  "ReadPALMImage");" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,\n                  "ReadPALMImage")" (identifier "__assert_fail") (argument_list "("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,\n                  "ReadPALMImage")" (( "(") (string_literal ""image_info->signature == MagickCoreSignature"" (" """) (string_content "image_info->signature == MagickCoreSignature") (" """)) (, ",") (string_literal ""coders/palm.c"" (" """) (string_content "coders/palm.c") (" """)) (, ",") (number_literal "0x125") (, ",") (string_literal ""ReadPALMImage"" (" """) (string_content "ReadPALMImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/palm.c","ReadPALMImage",0x127,&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/palm.c","ReadPALMImage",0x127,&DAT_002f75ae,param_1 + 0x21f0);\n  }" ({ "{") (expression_statement "LogMagickEvent(0x8000,"coders/palm.c","ReadPALMImage",0x127,&DAT_002f75ae,param_1 + 0x21f0);" (call_expression "LogMagickEvent(0x8000,"coders/palm.c","ReadPALMImage",0x127,&DAT_002f75ae,param_1 + 0x21f0)" (identifier "LogMagickEvent") (argument_list "(0x8000,"coders/palm.c","ReadPALMImage",0x127,&DAT_002f75ae,param_1 + 0x21f0)" (( "(") (number_literal "0x8000") (, ",") (string_literal ""coders/palm.c"" (" """) (string_content "coders/palm.c") (" """)) (, ",") (string_literal ""ReadPALMImage"" (" """) (string_content "ReadPALMImage") (" """)) (, ",") (number_literal "0x127") (, ",") (pointer_expression "&DAT_002f75ae" (& "&") (identifier "DAT_002f75ae")) (, ",") (binary_expression "param_1 + 0x21f0" (identifier "param_1") (+ "+") (number_literal "0x21f0")) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_2 == (int *)0x0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage");\n  }" (if "if") (parenthesized_expression "(param_2 == (int *)0x0)" (( "(") (binary_expression "param_2 == (int *)0x0" (identifier "param_2") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage");\n  }" ({ "{") (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage")" (identifier "__assert_fail") (argument_list "("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage")" (( "(") (string_literal ""exception != (ExceptionInfo *) NULL"" (" """) (string_content "exception != (ExceptionInfo *) NULL") (" """)) (, ",") (string_literal ""coders/palm.c"" (" """) (string_content "coders/palm.c") (" """)) (, ",") (number_literal "0x129") (, ",") (string_literal ""ReadPALMImage"" (" """) (string_content "ReadPALMImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_2[7] != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage");\n  }" (if "if") (parenthesized_expression "(param_2[7] != -0x54535255)" (( "(") (binary_expression "param_2[7] != -0x54535255" (subscript_expression "param_2[7]" (identifier "param_2") ([ "[") (number_literal "7") (] "]")) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage");\n  }" ({ "{") (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage");" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage")" (identifier "__assert_fail") (argument_list "("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,\n                  "ReadPALMImage")" (( "(") (string_literal ""exception->signature == MagickCoreSignature"" (" """) (string_content "exception->signature == MagickCoreSignature") (" """)) (, ",") (string_literal ""coders/palm.c"" (" """) (string_content "coders/palm.c") (" """)) (, ",") (number_literal "0x12a") (, ",") (string_literal ""ReadPALMImage"" (" """) (string_content "ReadPALMImage") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "puVar17 = (undefined4 *)AcquireImage(param_1,param_2);" (assignment_expression "puVar17 = (undefined4 *)AcquireImage(param_1,param_2)" (identifier "puVar17") (= "=") (cast_expression "(undefined4 *)AcquireImage(param_1,param_2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (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 "iVar18 = OpenBlob(param_1,puVar17,2,param_2);" (assignment_expression "iVar18 = OpenBlob(param_1,puVar17,2,param_2)" (identifier "iVar18") (= "=") (call_expression "OpenBlob(param_1,puVar17,2,param_2)" (identifier "OpenBlob") (argument_list "(param_1,puVar17,2,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "puVar17") (, ",") (number_literal "2") (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" (identifier "local_94") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" (identifier "local_90") (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar18 == 0) {\n    puVar24 = (undefined4 *)0x0;\n    DestroyImageList(puVar17);\n  }\n  else {\n    do {\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[6] = uVar19 & 0xffff;\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[7] = uVar19 & 0xffff;\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((puVar17[6] == 0) || (puVar17[7] == 0)) {\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }\n      iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (iVar18 == 0) goto LAB_00262f23;\n      SetImageBackgroundColor(puVar17,param_2);\n      uVar19 = ReadBlobMSBShort(puVar17);\n      uVar19 = uVar19 & 0xffff;\n      uVar14 = ReadBlobMSBShort(puVar17);\n      uVar20 = ReadBlobByte(puVar17);\n      if ((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)) {\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar21 = ReadBlobByte(puVar17);\n      if (2 < uVar21) {\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar15 = ReadBlobMSBShort(puVar17);\n      iVar18 = ReadBlobByte(puVar17);\n      uVar21 = ReadBlobByte(puVar17);\n      if ((uVar21 != 0xff) && (1 < uVar21)) {\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(puVar17);\n      if (uVar20 == 0x10) {\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }\n      else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }\nLAB_002622bf:\n      local_a0 = local_70;\n      if (*(int *)(param_1 + 0x1bc) != 0) {\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (local_9c == 0) goto LAB_00262f23;\n      uVar26 = puVar17[6] * 2;\n      if ((uint)(puVar17[6] * 2) < uVar19) {\n        uVar26 = uVar19;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar26,1);\n      if (__s == (ushort *)0x0) {\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar26);\n      local_b0 = (void *)0x0;\n      if (uVar21 == 0) {\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }\n      iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1;\n      if (0 < (int)puVar17[7]) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }\n      if ((uVar14 & 0x2000) != 0) {\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar21 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }\n      if (((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)) goto LAB_0026266b;\n      uVar19 = (uint)uVar15 * 4;\n      bVar40 = CARRY4(local_94,uVar19);\n      local_94 = local_94 + uVar19;\n      local_90 = local_90 + (uint)bVar40;\n      lVar44 = GetBlobSize(puVar17);\n      if (lVar44 <= CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }\n      lVar44 = SeekBlob(puVar17,local_94,local_90,0);\n      if (lVar44 != CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(param_1,puVar17,param_2);\n      iVar18 = GetNextImageInList(puVar17);\n      if (iVar18 == 0) break;\n      puVar17 = (undefined4 *)SyncNextImageInList(puVar17);\n      uVar42 = GetBlobSize(puVar17);\n      uVar43 = TellBlob(puVar17);\n      iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42);\n    } while (iVar18 != 0);\n    CloseBlob(puVar17);\nLAB_00262f23:\n    puVar24 = (undefined4 *)DestroyImageList(puVar17);\n  }" (if "if") (parenthesized_expression "(iVar18 == 0)" (( "(") (binary_expression "iVar18 == 0" (identifier "iVar18") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    puVar24 = (undefined4 *)0x0;\n    DestroyImageList(puVar17);\n  }" ({ "{") (expression_statement "puVar24 = (undefined4 *)0x0;" (assignment_expression "puVar24 = (undefined4 *)0x0" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "DestroyImageList(puVar17);" (call_expression "DestroyImageList(puVar17)" (identifier "DestroyImageList") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    do {\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[6] = uVar19 & 0xffff;\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[7] = uVar19 & 0xffff;\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((puVar17[6] == 0) || (puVar17[7] == 0)) {\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }\n      iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (iVar18 == 0) goto LAB_00262f23;\n      SetImageBackgroundColor(puVar17,param_2);\n      uVar19 = ReadBlobMSBShort(puVar17);\n      uVar19 = uVar19 & 0xffff;\n      uVar14 = ReadBlobMSBShort(puVar17);\n      uVar20 = ReadBlobByte(puVar17);\n      if ((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)) {\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar21 = ReadBlobByte(puVar17);\n      if (2 < uVar21) {\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar15 = ReadBlobMSBShort(puVar17);\n      iVar18 = ReadBlobByte(puVar17);\n      uVar21 = ReadBlobByte(puVar17);\n      if ((uVar21 != 0xff) && (1 < uVar21)) {\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(puVar17);\n      if (uVar20 == 0x10) {\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }\n      else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }\nLAB_002622bf:\n      local_a0 = local_70;\n      if (*(int *)(param_1 + 0x1bc) != 0) {\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (local_9c == 0) goto LAB_00262f23;\n      uVar26 = puVar17[6] * 2;\n      if ((uint)(puVar17[6] * 2) < uVar19) {\n        uVar26 = uVar19;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar26,1);\n      if (__s == (ushort *)0x0) {\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar26);\n      local_b0 = (void *)0x0;\n      if (uVar21 == 0) {\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }\n      iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1;\n      if (0 < (int)puVar17[7]) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }\n      if ((uVar14 & 0x2000) != 0) {\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar21 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }\n      if (((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)) goto LAB_0026266b;\n      uVar19 = (uint)uVar15 * 4;\n      bVar40 = CARRY4(local_94,uVar19);\n      local_94 = local_94 + uVar19;\n      local_90 = local_90 + (uint)bVar40;\n      lVar44 = GetBlobSize(puVar17);\n      if (lVar44 <= CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }\n      lVar44 = SeekBlob(puVar17,local_94,local_90,0);\n      if (lVar44 != CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(param_1,puVar17,param_2);\n      iVar18 = GetNextImageInList(puVar17);\n      if (iVar18 == 0) break;\n      puVar17 = (undefined4 *)SyncNextImageInList(puVar17);\n      uVar42 = GetBlobSize(puVar17);\n      uVar43 = TellBlob(puVar17);\n      iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42);\n    } while (iVar18 != 0);\n    CloseBlob(puVar17);\nLAB_00262f23:\n    puVar24 = (undefined4 *)DestroyImageList(puVar17);\n  }" (else "else") (compound_statement "{\n    do {\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[6] = uVar19 & 0xffff;\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[7] = uVar19 & 0xffff;\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((puVar17[6] == 0) || (puVar17[7] == 0)) {\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }\n      iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (iVar18 == 0) goto LAB_00262f23;\n      SetImageBackgroundColor(puVar17,param_2);\n      uVar19 = ReadBlobMSBShort(puVar17);\n      uVar19 = uVar19 & 0xffff;\n      uVar14 = ReadBlobMSBShort(puVar17);\n      uVar20 = ReadBlobByte(puVar17);\n      if ((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)) {\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar21 = ReadBlobByte(puVar17);\n      if (2 < uVar21) {\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar15 = ReadBlobMSBShort(puVar17);\n      iVar18 = ReadBlobByte(puVar17);\n      uVar21 = ReadBlobByte(puVar17);\n      if ((uVar21 != 0xff) && (1 < uVar21)) {\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(puVar17);\n      if (uVar20 == 0x10) {\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }\n      else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }\nLAB_002622bf:\n      local_a0 = local_70;\n      if (*(int *)(param_1 + 0x1bc) != 0) {\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (local_9c == 0) goto LAB_00262f23;\n      uVar26 = puVar17[6] * 2;\n      if ((uint)(puVar17[6] * 2) < uVar19) {\n        uVar26 = uVar19;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar26,1);\n      if (__s == (ushort *)0x0) {\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar26);\n      local_b0 = (void *)0x0;\n      if (uVar21 == 0) {\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }\n      iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1;\n      if (0 < (int)puVar17[7]) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }\n      if ((uVar14 & 0x2000) != 0) {\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar21 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }\n      if (((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)) goto LAB_0026266b;\n      uVar19 = (uint)uVar15 * 4;\n      bVar40 = CARRY4(local_94,uVar19);\n      local_94 = local_94 + uVar19;\n      local_90 = local_90 + (uint)bVar40;\n      lVar44 = GetBlobSize(puVar17);\n      if (lVar44 <= CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }\n      lVar44 = SeekBlob(puVar17,local_94,local_90,0);\n      if (lVar44 != CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(param_1,puVar17,param_2);\n      iVar18 = GetNextImageInList(puVar17);\n      if (iVar18 == 0) break;\n      puVar17 = (undefined4 *)SyncNextImageInList(puVar17);\n      uVar42 = GetBlobSize(puVar17);\n      uVar43 = TellBlob(puVar17);\n      iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42);\n    } while (iVar18 != 0);\n    CloseBlob(puVar17);\nLAB_00262f23:\n    puVar24 = (undefined4 *)DestroyImageList(puVar17);\n  }" ({ "{") (do_statement "do {\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[6] = uVar19 & 0xffff;\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[7] = uVar19 & 0xffff;\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((puVar17[6] == 0) || (puVar17[7] == 0)) {\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }\n      iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (iVar18 == 0) goto LAB_00262f23;\n      SetImageBackgroundColor(puVar17,param_2);\n      uVar19 = ReadBlobMSBShort(puVar17);\n      uVar19 = uVar19 & 0xffff;\n      uVar14 = ReadBlobMSBShort(puVar17);\n      uVar20 = ReadBlobByte(puVar17);\n      if ((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)) {\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar21 = ReadBlobByte(puVar17);\n      if (2 < uVar21) {\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar15 = ReadBlobMSBShort(puVar17);\n      iVar18 = ReadBlobByte(puVar17);\n      uVar21 = ReadBlobByte(puVar17);\n      if ((uVar21 != 0xff) && (1 < uVar21)) {\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(puVar17);\n      if (uVar20 == 0x10) {\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }\n      else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }\nLAB_002622bf:\n      local_a0 = local_70;\n      if (*(int *)(param_1 + 0x1bc) != 0) {\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (local_9c == 0) goto LAB_00262f23;\n      uVar26 = puVar17[6] * 2;\n      if ((uint)(puVar17[6] * 2) < uVar19) {\n        uVar26 = uVar19;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar26,1);\n      if (__s == (ushort *)0x0) {\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar26);\n      local_b0 = (void *)0x0;\n      if (uVar21 == 0) {\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }\n      iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1;\n      if (0 < (int)puVar17[7]) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }\n      if ((uVar14 & 0x2000) != 0) {\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar21 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }\n      if (((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)) goto LAB_0026266b;\n      uVar19 = (uint)uVar15 * 4;\n      bVar40 = CARRY4(local_94,uVar19);\n      local_94 = local_94 + uVar19;\n      local_90 = local_90 + (uint)bVar40;\n      lVar44 = GetBlobSize(puVar17);\n      if (lVar44 <= CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }\n      lVar44 = SeekBlob(puVar17,local_94,local_90,0);\n      if (lVar44 != CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(param_1,puVar17,param_2);\n      iVar18 = GetNextImageInList(puVar17);\n      if (iVar18 == 0) break;\n      puVar17 = (undefined4 *)SyncNextImageInList(puVar17);\n      uVar42 = GetBlobSize(puVar17);\n      uVar43 = TellBlob(puVar17);\n      iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42);\n    } while (iVar18 != 0);" (do "do") (compound_statement "{\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[6] = uVar19 & 0xffff;\n      uVar19 = ReadBlobMSBShort(puVar17);\n      puVar17[7] = uVar19 & 0xffff;\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }\n      if ((puVar17[6] == 0) || (puVar17[7] == 0)) {\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }\n      iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (iVar18 == 0) goto LAB_00262f23;\n      SetImageBackgroundColor(puVar17,param_2);\n      uVar19 = ReadBlobMSBShort(puVar17);\n      uVar19 = uVar19 & 0xffff;\n      uVar14 = ReadBlobMSBShort(puVar17);\n      uVar20 = ReadBlobByte(puVar17);\n      if ((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)) {\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }\n      uVar21 = ReadBlobByte(puVar17);\n      if (2 < uVar21) {\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }\n      uVar15 = ReadBlobMSBShort(puVar17);\n      iVar18 = ReadBlobByte(puVar17);\n      uVar21 = ReadBlobByte(puVar17);\n      if ((uVar21 != 0xff) && (1 < uVar21)) {\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }\n      ReadBlobMSBShort(puVar17);\n      if (uVar20 == 0x10) {\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }\n      else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }\nLAB_002622bf:\n      local_a0 = local_70;\n      if (*(int *)(param_1 + 0x1bc) != 0) {\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }\n      local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);\n      if (local_9c == 0) goto LAB_00262f23;\n      uVar26 = puVar17[6] * 2;\n      if ((uint)(puVar17[6] * 2) < uVar19) {\n        uVar26 = uVar19;\n      }\n      __s = (ushort *)AcquireQuantumMemory(uVar26,1);\n      if (__s == (ushort *)0x0) {\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }\n      memset(__s,0,uVar26);\n      local_b0 = (void *)0x0;\n      if (uVar21 == 0) {\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }\n      iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1;\n      if (0 < (int)puVar17[7]) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }\n      if ((uVar14 & 0x2000) != 0) {\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }\n      RelinquishMagickMemory(__s);\n      if (uVar21 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }\n      iVar18 = EOFBlob(puVar17);\n      if (iVar18 != 0) {\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }\n      if (((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)) goto LAB_0026266b;\n      uVar19 = (uint)uVar15 * 4;\n      bVar40 = CARRY4(local_94,uVar19);\n      local_94 = local_94 + uVar19;\n      local_90 = local_90 + (uint)bVar40;\n      lVar44 = GetBlobSize(puVar17);\n      if (lVar44 <= CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }\n      lVar44 = SeekBlob(puVar17,local_94,local_90,0);\n      if (lVar44 != CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }\n      AcquireNextImage(param_1,puVar17,param_2);\n      iVar18 = GetNextImageInList(puVar17);\n      if (iVar18 == 0) break;\n      puVar17 = (undefined4 *)SyncNextImageInList(puVar17);\n      uVar42 = GetBlobSize(puVar17);\n      uVar43 = TellBlob(puVar17);\n      iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42);\n    }" ({ "{") (expression_statement "uVar19 = ReadBlobMSBShort(puVar17);" (assignment_expression "uVar19 = ReadBlobMSBShort(puVar17)" (identifier "uVar19") (= "=") (call_expression "ReadBlobMSBShort(puVar17)" (identifier "ReadBlobMSBShort") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (; ";")) (expression_statement "puVar17[6] = uVar19 & 0xffff;" (assignment_expression "puVar17[6] = uVar19 & 0xffff" (subscript_expression "puVar17[6]" (identifier "puVar17") ([ "[") (number_literal "6") (] "]")) (= "=") (binary_expression "uVar19 & 0xffff" (identifier "uVar19") (& "&") (number_literal "0xffff"))) (; ";")) (expression_statement "uVar19 = ReadBlobMSBShort(puVar17);" (assignment_expression "uVar19 = ReadBlobMSBShort(puVar17)" (identifier "uVar19") (= "=") (call_expression "ReadBlobMSBShort(puVar17)" (identifier "ReadBlobMSBShort") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (; ";")) (expression_statement "puVar17[7] = uVar19 & 0xffff;" (assignment_expression "puVar17[7] = uVar19 & 0xffff" (subscript_expression "puVar17[7]" (identifier "puVar17") ([ "[") (number_literal "7") (] "]")) (= "=") (binary_expression "uVar19 & 0xffff" (identifier "uVar19") (& "&") (number_literal "0xffff"))) (; ";")) (expression_statement "iVar18 = EOFBlob(puVar17);" (assignment_expression "iVar18 = EOFBlob(puVar17)" (identifier "iVar18") (= "=") (call_expression "EOFBlob(puVar17)" (identifier "EOFBlob") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (; ";")) (if_statement "if (iVar18 != 0) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }" (if "if") (parenthesized_expression "(iVar18 != 0)" (( "(") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x138;\nLAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);\n        CloseBlob(puVar17);\n        DestroyImageList(puVar17);\n        puVar24 = (undefined4 *)0x0;\n        goto LAB_002621b8;\n      }" ({ "{") (expression_statement "pcVar47 = "ImproperImageHeader";" (assignment_expression "pcVar47 = "ImproperImageHeader"" (identifier "pcVar47") (= "=") (string_literal ""ImproperImageHeader"" (" """) (string_content "ImproperImageHeader") (" """))) (; ";")) (expression_statement "uVar46 = 0x1a9;" (assignment_expression "uVar46 = 0x1a9" (identifier "uVar46") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar45 = 0x138;" (assignment_expression "uVar45 = 0x138" (identifier "uVar45") (= "=") (number_literal "0x138")) (; ";")) (labeled_statement "LAB_0026218b:\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);" (statement_identifier "LAB_0026218b") (: ":") (expression_statement "ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0);" (call_expression "ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0)" (identifier "ThrowMagickException") (argument_list "(param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",\n                   param_1 + 0x21f0)" (( "(") (identifier "param_2") (, ",") (string_literal ""coders/palm.c"" (" """) (string_content "coders/palm.c") (" """)) (, ",") (string_literal ""ReadPALMImage"" (" """) (string_content "ReadPALMImage") (" """)) (, ",") (identifier "uVar45") (, ",") (identifier "uVar46") (, ",") (identifier "pcVar47") (, ",") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """)) (, ",") (binary_expression "param_1 + 0x21f0" (identifier "param_1") (+ "+") (number_literal "0x21f0")) () ")"))) (; ";"))) (expression_statement "CloseBlob(puVar17);" (call_expression "CloseBlob(puVar17)" (identifier "CloseBlob") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")"))) (; ";")) (expression_statement "DestroyImageList(puVar17);" (call_expression "DestroyImageList(puVar17)" (identifier "DestroyImageList") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")"))) (; ";")) (expression_statement "puVar24 = (undefined4 *)0x0;" (assignment_expression "puVar24 = (undefined4 *)0x0" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_002621b8;" (goto "goto") (statement_identifier "LAB_002621b8") (; ";")) (} "}"))) (if_statement "if ((puVar17[6] == 0) || (puVar17[7] == 0)) {\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }" (if "if") (parenthesized_expression "((puVar17[6] == 0) || (puVar17[7] == 0))" (( "(") (binary_expression "(puVar17[6] == 0) || (puVar17[7] == 0)" (parenthesized_expression "(puVar17[6] == 0)" (( "(") (binary_expression "puVar17[6] == 0" (subscript_expression "puVar17[6]" (identifier "puVar17") ([ "[") (number_literal "6") (] "]")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(puVar17[7] == 0)" (( "(") (binary_expression "puVar17[7] == 0" (subscript_expression "puVar17[7]" (identifier "puVar17") ([ "[") (number_literal "7") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        pcVar47 = "NegativeOrZeroImageSize";\n        uVar46 = 0x1a9;\n        uVar45 = 0x13a;\n        goto LAB_0026218b;\n      }" ({ "{") (expression_statement "pcVar47 = "NegativeOrZeroImageSize";" (assignment_expression "pcVar47 = "NegativeOrZeroImageSize"" (identifier "pcVar47") (= "=") (string_literal ""NegativeOrZeroImageSize"" (" """) (string_content "NegativeOrZeroImageSize") (" """))) (; ";")) (expression_statement "uVar46 = 0x1a9;" (assignment_expression "uVar46 = 0x1a9" (identifier "uVar46") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar45 = 0x13a;" (assignment_expression "uVar45 = 0x13a" (identifier "uVar45") (= "=") (number_literal "0x13a")) (; ";")) (goto_statement "goto LAB_0026218b;" (goto "goto") (statement_identifier "LAB_0026218b") (; ";")) (} "}"))) (expression_statement "iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);" (assignment_expression "iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2)" (identifier "iVar18") (= "=") (call_expression "SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2)" (identifier "SetImageExtent") (argument_list "(puVar17,puVar17[6],puVar17[7],param_2)" (( "(") (identifier "puVar17") (, ",") (subscript_expression "puVar17[6]" (identifier "puVar17") ([ "[") (number_literal "6") (] "]")) (, ",") (subscript_expression "puVar17[7]" (identifier "puVar17") ([ "[") (number_literal "7") (] "]")) (, ",") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (iVar18 == 0) goto LAB_00262f23;" (if "if") (parenthesized_expression "(iVar18 == 0)" (( "(") (binary_expression "iVar18 == 0" (identifier "iVar18") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00262f23;" (goto "goto") (statement_identifier "LAB_00262f23") (; ";"))) (expression_statement "SetImageBackgroundColor(puVar17,param_2);" (call_expression "SetImageBackgroundColor(puVar17,param_2)" (identifier "SetImageBackgroundColor") (argument_list "(puVar17,param_2)" (( "(") (identifier "puVar17") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "uVar19 = ReadBlobMSBShort(puVar17);" (assignment_expression "uVar19 = ReadBlobMSBShort(puVar17)" (identifier "uVar19") (= "=") (call_expression "ReadBlobMSBShort(puVar17)" (identifier "ReadBlobMSBShort") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (; ";")) (expression_statement "uVar19 = uVar19 & 0xffff;" (assignment_expression "uVar19 = uVar19 & 0xffff" (identifier "uVar19") (= "=") (binary_expression "uVar19 & 0xffff" (identifier "uVar19") (& "&") (number_literal "0xffff"))) (; ";")) (expression_statement "uVar14 = ReadBlobMSBShort(puVar17);" (assignment_expression "uVar14 = ReadBlobMSBShort(puVar17)" (identifier "uVar14") (= "=") (call_expression "ReadBlobMSBShort(puVar17)" (identifier "ReadBlobMSBShort") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (; ";")) (expression_statement "uVar20 = ReadBlobByte(puVar17);" (assignment_expression "uVar20 = ReadBlobByte(puVar17)" (identifier "uVar20") (= "=") (call_expression "ReadBlobByte(puVar17)" (identifier "ReadBlobByte") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (; ";")) (if_statement "if ((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)) {\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }" (if "if") (parenthesized_expression "((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0))" (( "(") (binary_expression "(0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)" (parenthesized_expression "(0x10 < uVar20)" (( "(") (binary_expression "0x10 < uVar20" (number_literal "0x10") (< "<") (identifier "uVar20")) () ")")) (|| "||") (parenthesized_expression "((0x10116U >> (uVar20 & 0x1f) & 1) == 0)" (( "(") (binary_expression "(0x10116U >> (uVar20 & 0x1f) & 1) == 0" (parenthesized_expression "(0x10116U >> (uVar20 & 0x1f) & 1)" (( "(") (binary_expression "0x10116U >> (uVar20 & 0x1f) & 1" (binary_expression "0x10116U >> (uVar20 & 0x1f)" (number_literal "0x10116U") (>> ">>") (parenthesized_expression "(uVar20 & 0x1f)" (( "(") (binary_expression "uVar20 & 0x1f" (identifier "uVar20") (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        pcVar47 = "UnsupportedBitsPerPixel";\n        uVar46 = 0x1a9;\n        uVar45 = 0x145;\n        goto LAB_0026218b;\n      }" ({ "{") (expression_statement "pcVar47 = "UnsupportedBitsPerPixel";" (assignment_expression "pcVar47 = "UnsupportedBitsPerPixel"" (identifier "pcVar47") (= "=") (string_literal ""UnsupportedBitsPerPixel"" (" """) (string_content "UnsupportedBitsPerPixel") (" """))) (; ";")) (expression_statement "uVar46 = 0x1a9;" (assignment_expression "uVar46 = 0x1a9" (identifier "uVar46") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar45 = 0x145;" (assignment_expression "uVar45 = 0x145" (identifier "uVar45") (= "=") (number_literal "0x145")) (; ";")) (goto_statement "goto LAB_0026218b;" (goto "goto") (statement_identifier "LAB_0026218b") (; ";")) (} "}"))) (expression_statement "uVar21 = ReadBlobByte(puVar17);" (assignment_expression "uVar21 = ReadBlobByte(puVar17)" (identifier "uVar21") (= "=") (call_expression "ReadBlobByte(puVar17)" (identifier "ReadBlobByte") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (; ";")) (if_statement "if (2 < uVar21) {\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }" (if "if") (parenthesized_expression "(2 < uVar21)" (( "(") (binary_expression "2 < uVar21" (number_literal "2") (< "<") (identifier "uVar21")) () ")")) (compound_statement "{\n        pcVar47 = "FileFormatVersionMismatch";\n        uVar46 = 0x1a9;\n        uVar45 = 0x148;\n        goto LAB_0026218b;\n      }" ({ "{") (expression_statement "pcVar47 = "FileFormatVersionMismatch";" (assignment_expression "pcVar47 = "FileFormatVersionMismatch"" (identifier "pcVar47") (= "=") (string_literal ""FileFormatVersionMismatch"" (" """) (string_content "FileFormatVersionMismatch") (" """))) (; ";")) (expression_statement "uVar46 = 0x1a9;" (assignment_expression "uVar46 = 0x1a9" (identifier "uVar46") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar45 = 0x148;" (assignment_expression "uVar45 = 0x148" (identifier "uVar45") (= "=") (number_literal "0x148")) (; ";")) (goto_statement "goto LAB_0026218b;" (goto "goto") (statement_identifier "LAB_0026218b") (; ";")) (} "}"))) (expression_statement "uVar15 = ReadBlobMSBShort(puVar17);" (assignment_expression "uVar15 = ReadBlobMSBShort(puVar17)" (identifier "uVar15") (= "=") (call_expression "ReadBlobMSBShort(puVar17)" (identifier "ReadBlobMSBShort") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (; ";")) (expression_statement "iVar18 = ReadBlobByte(puVar17);" (assignment_expression "iVar18 = ReadBlobByte(puVar17)" (identifier "iVar18") (= "=") (call_expression "ReadBlobByte(puVar17)" (identifier "ReadBlobByte") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (; ";")) (expression_statement "uVar21 = ReadBlobByte(puVar17);" (assignment_expression "uVar21 = ReadBlobByte(puVar17)" (identifier "uVar21") (= "=") (call_expression "ReadBlobByte(puVar17)" (identifier "ReadBlobByte") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (; ";")) (if_statement "if ((uVar21 != 0xff) && (1 < uVar21)) {\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }" (if "if") (parenthesized_expression "((uVar21 != 0xff) && (1 < uVar21))" (( "(") (binary_expression "(uVar21 != 0xff) && (1 < uVar21)" (parenthesized_expression "(uVar21 != 0xff)" (( "(") (binary_expression "uVar21 != 0xff" (identifier "uVar21") (!= "!=") (number_literal "0xff")) () ")")) (&& "&&") (parenthesized_expression "(1 < uVar21)" (( "(") (binary_expression "1 < uVar21" (number_literal "1") (< "<") (identifier "uVar21")) () ")"))) () ")")) (compound_statement "{\n        pcVar47 = "UnrecognizedImageCompression";\n        uVar46 = 0x1a9;\n        uVar45 = 0x14f;\n        goto LAB_0026218b;\n      }" ({ "{") (expression_statement "pcVar47 = "UnrecognizedImageCompression";" (assignment_expression "pcVar47 = "UnrecognizedImageCompression"" (identifier "pcVar47") (= "=") (string_literal ""UnrecognizedImageCompression"" (" """) (string_content "UnrecognizedImageCompression") (" """))) (; ";")) (expression_statement "uVar46 = 0x1a9;" (assignment_expression "uVar46 = 0x1a9" (identifier "uVar46") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar45 = 0x14f;" (assignment_expression "uVar45 = 0x14f" (identifier "uVar45") (= "=") (number_literal "0x14f")) (; ";")) (goto_statement "goto LAB_0026218b;" (goto "goto") (statement_identifier "LAB_0026218b") (; ";")) (} "}"))) (expression_statement "ReadBlobMSBShort(puVar17);" (call_expression "ReadBlobMSBShort(puVar17)" (identifier "ReadBlobMSBShort") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")"))) (; ";")) (if_statement "if (uVar20 == 0x10) {\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }\n      else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }" (if "if") (parenthesized_expression "(uVar20 == 0x10)" (( "(") (binary_expression "uVar20 == 0x10" (identifier "uVar20") (== "==") (number_literal "0x10")) () ")")) (compound_statement "{\n        GetPixelInfo(puVar17,local_70);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        ReadBlobByte(puVar17);\n        iVar22 = ReadBlobByte(puVar17);\n        fVar11 = DAT_00306a38;\n        fVar12 = DAT_002df8a8;\n        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);\n        iVar22 = ReadBlobByte(puVar17);\n        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);\n        iVar22 = ReadBlobByte(puVar17);\n        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);\n        if ((short)uVar14 < 0) goto LAB_00262c40;\n        *puVar17 = 1;\n      }" ({ "{") (expression_statement "GetPixelInfo(puVar17,local_70);" (call_expression "GetPixelInfo(puVar17,local_70)" (identifier "GetPixelInfo") (argument_list "(puVar17,local_70)" (( "(") (identifier "puVar17") (, ",") (identifier "local_70") () ")"))) (; ";")) (expression_statement "ReadBlobByte(puVar17);" (call_expression "ReadBlobByte(puVar17)" (identifier "ReadBlobByte") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")"))) (; ";")) (expression_statement "ReadBlobByte(puVar17);" (call_expression "ReadBlobByte(puVar17)" (identifier "ReadBlobByte") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")"))) (; ";")) (expression_statement "ReadBlobByte(puVar17);" (call_expression "ReadBlobByte(puVar17)" (identifier "ReadBlobByte") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")"))) (; ";")) (expression_statement "ReadBlobByte(puVar17);" (call_expression "ReadBlobByte(puVar17)" (identifier "ReadBlobByte") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")"))) (; ";")) (expression_statement "ReadBlobByte(puVar17);" (call_expression "ReadBlobByte(puVar17)" (identifier "ReadBlobByte") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")"))) (; ";")) (expression_statement "iVar22 = ReadBlobByte(puVar17);" (assignment_expression "iVar22 = ReadBlobByte(puVar17)" (identifier "iVar22") (= "=") (call_expression "ReadBlobByte(puVar17)" (identifier "ReadBlobByte") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (; ";")) (expression_statement "fVar11 = DAT_00306a38;" (assignment_expression "fVar11 = DAT_00306a38" (identifier "fVar11") (= "=") (identifier "DAT_00306a38")) (; ";")) (expression_statement "fVar12 = DAT_002df8a8;" (assignment_expression "fVar12 = DAT_002df8a8" (identifier "fVar12") (= "=") (identifier "DAT_002df8a8")) (; ";")) (expression_statement "local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);" (assignment_expression "local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38)" (identifier "local_50") (= "=") (cast_expression "(double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((DAT_002df8a8 * (float)iVar22) / DAT_00306a38)" (( "(") (binary_expression "(DAT_002df8a8 * (float)iVar22) / DAT_00306a38" (parenthesized_expression "(DAT_002df8a8 * (float)iVar22)" (( "(") (binary_expression "DAT_002df8a8 * (float)iVar22" (identifier "DAT_002df8a8") (* "*") (cast_expression "(float)iVar22" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "iVar22"))) () ")")) (/ "/") (identifier "DAT_00306a38")) () ")")))) (; ";")) (expression_statement "iVar22 = ReadBlobByte(puVar17);" (assignment_expression "iVar22 = ReadBlobByte(puVar17)" (identifier "iVar22") (= "=") (call_expression "ReadBlobByte(puVar17)" (identifier "ReadBlobByte") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (; ";")) (expression_statement "local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);" (assignment_expression "local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4)" (identifier "local_48") (= "=") (cast_expression "(double)(((float)iVar22 * fVar12) / DAT_0030d3a4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "(((float)iVar22 * fVar12) / DAT_0030d3a4)" (( "(") (binary_expression "((float)iVar22 * fVar12) / DAT_0030d3a4" (parenthesized_expression "((float)iVar22 * fVar12)" (( "(") (binary_expression "(float)iVar22 * fVar12" (cast_expression "(float)iVar22" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "iVar22")) (* "*") (identifier "fVar12")) () ")")) (/ "/") (identifier "DAT_0030d3a4")) () ")")))) (; ";")) (expression_statement "iVar22 = ReadBlobByte(puVar17);" (assignment_expression "iVar22 = ReadBlobByte(puVar17)" (identifier "iVar22") (= "=") (call_expression "ReadBlobByte(puVar17)" (identifier "ReadBlobByte") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (; ";")) (expression_statement "local_40 = (double)(((float)iVar22 * fVar12) / fVar11);" (assignment_expression "local_40 = (double)(((float)iVar22 * fVar12) / fVar11)" (identifier "local_40") (= "=") (cast_expression "(double)(((float)iVar22 * fVar12) / fVar11)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "(((float)iVar22 * fVar12) / fVar11)" (( "(") (binary_expression "((float)iVar22 * fVar12) / fVar11" (parenthesized_expression "((float)iVar22 * fVar12)" (( "(") (binary_expression "(float)iVar22 * fVar12" (cast_expression "(float)iVar22" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "iVar22")) (* "*") (identifier "fVar12")) () ")")) (/ "/") (identifier "fVar11")) () ")")))) (; ";")) (if_statement "if ((short)uVar14 < 0) goto LAB_00262c40;" (if "if") (parenthesized_expression "((short)uVar14 < 0)" (( "(") (binary_expression "(short)uVar14 < 0" (cast_expression "(short)uVar14" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "uVar14")) (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_00262c40;" (goto "goto") (statement_identifier "LAB_00262c40") (; ";"))) (expression_statement "*puVar17 = 1;" (assignment_expression "*puVar17 = 1" (pointer_expression "*puVar17" (* "*") (identifier "puVar17")) (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }" (else "else") (compound_statement "{\n        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);\n        if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }\n        GetPixelInfo(puVar17,local_70);\n        if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }\n        *puVar17 = 2;\n        puVar17[8] = 8;\n      }" ({ "{") (expression_statement "iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);" (assignment_expression "iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2)" (identifier "iVar22") (= "=") (call_expression "AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2)" (identifier "AcquireImageColormap") (argument_list "(puVar17,1 << ((byte)uVar20 & 0x1f),param_2)" (( "(") (identifier "puVar17") (, ",") (binary_expression "1 << ((byte)uVar20 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)uVar20 & 0x1f)" (( "(") (binary_expression "(byte)uVar20 & 0x1f" (cast_expression "(byte)uVar20" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar20")) (& "&") (number_literal "0x1f")) () ")"))) (, ",") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (iVar22 == 0) {\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }" (if "if") (parenthesized_expression "(iVar22 == 0)" (( "(") (binary_expression "iVar22 == 0" (identifier "iVar22") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x158;\n          goto LAB_0026218b;\n        }" ({ "{") (expression_statement "pcVar47 = "MemoryAllocationFailed";" (assignment_expression "pcVar47 = "MemoryAllocationFailed"" (identifier "pcVar47") (= "=") (string_literal ""MemoryAllocationFailed"" (" """) (string_content "MemoryAllocationFailed") (" """))) (; ";")) (expression_statement "uVar46 = 400;" (assignment_expression "uVar46 = 400" (identifier "uVar46") (= "=") (number_literal "400")) (; ";")) (expression_statement "uVar45 = 0x158;" (assignment_expression "uVar45 = 0x158" (identifier "uVar45") (= "=") (number_literal "0x158")) (; ";")) (goto_statement "goto LAB_0026218b;" (goto "goto") (statement_identifier "LAB_0026218b") (; ";")) (} "}"))) (expression_statement "GetPixelInfo(puVar17,local_70);" (call_expression "GetPixelInfo(puVar17,local_70)" (identifier "GetPixelInfo") (argument_list "(puVar17,local_70)" (( "(") (identifier "puVar17") (, ",") (identifier "local_70") () ")"))) (; ";")) (if_statement "if (uVar20 == 8) {\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }\n        else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }" (if "if") (parenthesized_expression "(uVar20 == 8)" (( "(") (binary_expression "uVar20 == 8" (identifier "uVar20") (== "==") (number_literal "8")) () ")")) (compound_statement "{\n          if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }\n          if ((short)uVar14 < 0) goto LAB_00262c40;\n        }" ({ "{") (if_statement "if ((uVar14 & 0x4000) == 0) {\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }\n          else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }" (if "if") (parenthesized_expression "((uVar14 & 0x4000) == 0)" (( "(") (binary_expression "(uVar14 & 0x4000) == 0" (parenthesized_expression "(uVar14 & 0x4000)" (( "(") (binary_expression "uVar14 & 0x4000" (identifier "uVar14") (& "&") (number_literal "0x4000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            iVar22 = 0xff;\n            pbVar28 = &DAT_00344940;\n            do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");\n          }" ({ "{") (expression_statement "iVar22 = 0xff;" (assignment_expression "iVar22 = 0xff" (identifier "iVar22") (= "=") (number_literal "0xff")) (; ";")) (expression_statement "pbVar28 = &DAT_00344940;" (assignment_expression "pbVar28 = &DAT_00344940" (identifier "pbVar28") (= "=") (pointer_expression "&DAT_00344940" (& "&") (identifier "DAT_00344940"))) (; ";")) (do_statement "do {\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            } while (pbVar37 != (byte *)"Pango Markup Language");" (do "do") (compound_statement "{\n              if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }\n              fVar12 = DAT_002e814c;\n              pbVar37 = pbVar28 + 3;\n              iVar22 = iVar22 + -1;\n              local_10c = puVar17[10] + local_10c;\n              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);\n              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);\n              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);\n              pbVar28 = pbVar37;\n            }" ({ "{") (if_statement "if (iVar22 < (int)puVar17[9]) {\n                local_10c = iVar22 * 0x50;\n              }\n              else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }" (if "if") (parenthesized_expression "(iVar22 < (int)puVar17[9])" (( "(") (binary_expression "iVar22 < (int)puVar17[9]" (identifier "iVar22") (< "<") (cast_expression "(int)puVar17[9]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar17[9]" (identifier "puVar17") ([ "[") (number_literal "9") (] "]")))) () ")")) (compound_statement "{\n                local_10c = iVar22 * 0x50;\n              }" ({ "{") (expression_statement "local_10c = iVar22 * 0x50;" (assignment_expression "local_10c = iVar22 * 0x50" (identifier "local_10c") (= "=") (binary_expression "iVar22 * 0x50" (identifier "iVar22") (* "*") (number_literal "0x50"))) (; ";")) (} "}")) (else_clause "else {\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }" (else "else") (compound_statement "{\n                local_10c = 0;\n                if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }\n              }" ({ "{") (expression_statement "local_10c = 0;" (assignment_expression "local_10c = 0" (identifier "local_10c") (= "=") (number_literal "0")) (; ";")) (if_statement "if (*param_2 != 0x1a9) {\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }" (if "if") (parenthesized_expression "(*param_2 != 0x1a9)" (( "(") (binary_expression "*param_2 != 0x1a9" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (!= "!=") (number_literal "0x1a9")) () ")")) (compound_statement "{\n                  local_10c = 0;\n                  ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                }" ({ "{") (expression_statement "local_10c = 0;" (assignment_expression "local_10c = 0" (identifier "local_10c") (= "=") (number_literal "0")) (; ";")) (expression_statement "ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);" (call_expression "ThrowMagickException\n                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6)" (identifier "ThrowMagickException") (argument_list "(param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23\n                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6)" (( "(") (identifier "param_2") (, ",") (string_literal ""./MagickCore/colormap-private.h"" (" """) (string_content "./MagickCore/colormap-private.h") (" """)) (, ",") (string_literal ""ConstrainColormapIndex"" (" """) (string_content "ConstrainColormapIndex") (" """)) (, ",") (number_literal "0x23") (, ",") (number_literal "0x1a9") (, ",") (string_literal ""InvalidColormapIndex"" (" """) (string_content "InvalidColormapIndex") (" """)) (, ",") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """)) (, ",") (binary_expression "puVar17 + 0xc6" (identifier "puVar17") (+ "+") (number_literal "0xc6")) () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "fVar12 = DAT_002e814c;" (assignment_expression "fVar12 = DAT_002e814c" (identifier "fVar12") (= "=") (identifier "DAT_002e814c")) (; ";")) (expression_statement "pbVar37 = pbVar28 + 3;" (assignment_expression "pbVar37 = pbVar28 + 3" (identifier "pbVar37") (= "=") (binary_expression "pbVar28 + 3" (identifier "pbVar28") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "iVar22 = iVar22 + -1;" (assignment_expression "iVar22 = iVar22 + -1" (identifier "iVar22") (= "=") (binary_expression "iVar22 + -1" (identifier "iVar22") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "local_10c = puVar17[10] + local_10c;" (assignment_expression "local_10c = puVar17[10] + local_10c" (identifier "local_10c") (= "=") (binary_expression "puVar17[10] + local_10c" (subscript_expression "puVar17[10]" (identifier "puVar17") ([ "[") (number_literal "10") (] "]")) (+ "+") (identifier "local_10c"))) (; ";")) (expression_statement "*(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);" (assignment_expression "*(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c)" (pointer_expression "*(double *)(local_10c + 0x20)" (* "*") (cast_expression "(double *)(local_10c + 0x20)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_10c + 0x20)" (( "(") (binary_expression "local_10c + 0x20" (identifier "local_10c") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (cast_expression "(double)((float)*pbVar28 * DAT_002e814c)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((float)*pbVar28 * DAT_002e814c)" (( "(") (binary_expression "(float)*pbVar28 * DAT_002e814c" (cast_expression "(float)*pbVar28" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*pbVar28" (* "*") (identifier "pbVar28"))) (* "*") (identifier "DAT_002e814c")) () ")")))) (; ";")) (expression_statement "*(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);" (assignment_expression "*(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12)" (pointer_expression "*(double *)(local_10c + 0x28)" (* "*") (cast_expression "(double *)(local_10c + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_10c + 0x28)" (( "(") (binary_expression "local_10c + 0x28" (identifier "local_10c") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (cast_expression "(double)((float)pbVar28[1] * fVar12)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((float)pbVar28[1] * fVar12)" (( "(") (binary_expression "(float)pbVar28[1] * fVar12" (cast_expression "(float)pbVar28[1]" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (subscript_expression "pbVar28[1]" (identifier "pbVar28") ([ "[") (number_literal "1") (] "]"))) (* "*") (identifier "fVar12")) () ")")))) (; ";")) (expression_statement "*(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);" (assignment_expression "*(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12)" (pointer_expression "*(double *)(local_10c + 0x30)" (* "*") (cast_expression "(double *)(local_10c + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_10c + 0x30)" (( "(") (binary_expression "local_10c + 0x30" (identifier "local_10c") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (cast_expression "(double)((float)pbVar28[2] * fVar12)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((float)pbVar28[2] * fVar12)" (( "(") (binary_expression "(float)pbVar28[2] * fVar12" (cast_expression "(float)pbVar28[2]" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (subscript_expression "pbVar28[2]" (identifier "pbVar28") ([ "[") (number_literal "2") (] "]"))) (* "*") (identifier "fVar12")) () ")")))) (; ";")) (expression_statement "pbVar28 = pbVar37;" (assignment_expression "pbVar28 = pbVar37" (identifier "pbVar28") (= "=") (identifier "pbVar37")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pbVar37 != (byte *)"Pango Markup Language")" (( "(") (binary_expression "pbVar37 != (byte *)"Pango Markup Language"" (identifier "pbVar37") (!= "!=") (cast_expression "(byte *)"Pango Markup Language"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""Pango Markup Language"" (" """) (string_content "Pango Markup Language") (" """)))) () ")")) (; ";")) (} "}")) (else_clause "else {\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }" (else "else") (compound_statement "{\n            uVar16 = ReadBlobMSBShort(puVar17);\n            if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }\n          }" ({ "{") (expression_statement "uVar16 = ReadBlobMSBShort(puVar17);" (assignment_expression "uVar16 = ReadBlobMSBShort(puVar17)" (identifier "uVar16") (= "=") (call_expression "ReadBlobMSBShort(puVar17)" (identifier "ReadBlobMSBShort") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (; ";")) (if_statement "if (uVar16 != 0) {\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }" (if "if") (parenthesized_expression "(uVar16 != 0)" (( "(") (binary_expression "uVar16 != 0" (identifier "uVar16") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              iVar22 = 0xff;\n              do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);\n            }" ({ "{") (expression_statement "iVar22 = 0xff;" (assignment_expression "iVar22 = 0xff" (identifier "iVar22") (= "=") (number_literal "0xff")) (; ";")) (do_statement "do {\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              } while (0xff - (uint)uVar16 != iVar22);" (do "do") (compound_statement "{\n                ReadBlobByte(puVar17);\n                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }\n                iVar22 = iVar22 + -1;\n                bVar13 = ReadBlobByte(puVar17);\n                dVar1 = (double)DAT_002e814c;\n                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;\n                bVar13 = ReadBlobByte(puVar17);\n                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;\n              }" ({ "{") (expression_statement "ReadBlobByte(puVar17);" (call_expression "ReadBlobByte(puVar17)" (identifier "ReadBlobByte") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")"))) (; ";")) (if_statement "if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }\n                else {\n                  iVar23 = iVar22 * 0x50;\n                }" (if "if") (parenthesized_expression "((iVar22 < 0) || ((int)puVar17[9] <= iVar22))" (( "(") (binary_expression "(iVar22 < 0) || ((int)puVar17[9] <= iVar22)" (parenthesized_expression "(iVar22 < 0)" (( "(") (binary_expression "iVar22 < 0" (identifier "iVar22") (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((int)puVar17[9] <= iVar22)" (( "(") (binary_expression "(int)puVar17[9] <= iVar22" (cast_expression "(int)puVar17[9]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar17[9]" (identifier "puVar17") ([ "[") (number_literal "9") (] "]"))) (<= "<=") (identifier "iVar22")) () ")"))) () ")")) (compound_statement "{\n                  iVar23 = 0;\n                  if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }\n                }" ({ "{") (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" (identifier "iVar23") (= "=") (number_literal "0")) (; ";")) (if_statement "if (*param_2 != 0x1a9) {\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }" (if "if") (parenthesized_expression "(*param_2 != 0x1a9)" (( "(") (binary_expression "*param_2 != 0x1a9" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (!= "!=") (number_literal "0x1a9")) () ")")) (compound_statement "{\n                    ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n                  }" ({ "{") (expression_statement "ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);" (call_expression "ThrowMagickException\n                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6)" (identifier "ThrowMagickException") (argument_list "(param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",\n                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6)" (( "(") (identifier "param_2") (, ",") (string_literal ""./MagickCore/colormap-private.h"" (" """) (string_content "./MagickCore/colormap-private.h") (" """)) (, ",") (string_literal ""ConstrainColormapIndex"" (" """) (string_content "ConstrainColormapIndex") (" """)) (, ",") (number_literal "0x23") (, ",") (number_literal "0x1a9") (, ",") (string_literal ""InvalidColormapIndex"" (" """) (string_content "InvalidColormapIndex") (" """)) (, ",") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """)) (, ",") (binary_expression "puVar17 + 0xc6" (identifier "puVar17") (+ "+") (number_literal "0xc6")) () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                  iVar23 = iVar22 * 0x50;\n                }" (else "else") (compound_statement "{\n                  iVar23 = iVar22 * 0x50;\n                }" ({ "{") (expression_statement "iVar23 = iVar22 * 0x50;" (assignment_expression "iVar23 = iVar22 * 0x50" (identifier "iVar23") (= "=") (binary_expression "iVar22 * 0x50" (identifier "iVar22") (* "*") (number_literal "0x50"))) (; ";")) (} "}")))) (expression_statement "iVar22 = iVar22 + -1;" (assignment_expression "iVar22 = iVar22 + -1" (identifier "iVar22") (= "=") (binary_expression "iVar22 + -1" (identifier "iVar22") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar13 = ReadBlobByte(puVar17);" (assignment_expression "bVar13 = ReadBlobByte(puVar17)" (identifier "bVar13") (= "=") (call_expression "ReadBlobByte(puVar17)" (identifier "ReadBlobByte") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (; ";")) (expression_statement "dVar1 = (double)DAT_002e814c;" (assignment_expression "dVar1 = (double)DAT_002e814c" (identifier "dVar1") (= "=") (cast_expression "(double)DAT_002e814c" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002e814c"))) (; ";")) (expression_statement "*(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);" (assignment_expression "*(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c)" (pointer_expression "*(double *)(puVar17[10] + 0x20 + iVar23)" (* "*") (cast_expression "(double *)(puVar17[10] + 0x20 + iVar23)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17[10] + 0x20 + iVar23)" (( "(") (binary_expression "puVar17[10] + 0x20 + iVar23" (binary_expression "puVar17[10] + 0x20" (subscript_expression "puVar17[10]" (identifier "puVar17") ([ "[") (number_literal "10") (] "]")) (+ "+") (number_literal "0x20")) (+ "+") (identifier "iVar23")) () ")")))) (= "=") (cast_expression "(double)((float)bVar13 * DAT_002e814c)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((float)bVar13 * DAT_002e814c)" (( "(") (binary_expression "(float)bVar13 * DAT_002e814c" (cast_expression "(float)bVar13" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "bVar13")) (* "*") (identifier "DAT_002e814c")) () ")")))) (; ";")) (expression_statement "bVar13 = ReadBlobByte(puVar17);" (assignment_expression "bVar13 = ReadBlobByte(puVar17)" (identifier "bVar13") (= "=") (call_expression "ReadBlobByte(puVar17)" (identifier "ReadBlobByte") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (; ";")) (expression_statement "*(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;" (assignment_expression "*(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13" (pointer_expression "*(double *)(puVar17[10] + 0x28 + iVar23)" (* "*") (cast_expression "(double *)(puVar17[10] + 0x28 + iVar23)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17[10] + 0x28 + iVar23)" (( "(") (binary_expression "puVar17[10] + 0x28 + iVar23" (binary_expression "puVar17[10] + 0x28" (subscript_expression "puVar17[10]" (identifier "puVar17") ([ "[") (number_literal "10") (] "]")) (+ "+") (number_literal "0x28")) (+ "+") (identifier "iVar23")) () ")")))) (= "=") (binary_expression "dVar1 * (double)bVar13" (identifier "dVar1") (* "*") (cast_expression "(double)bVar13" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "bVar13")))) (; ";")) (expression_statement "bVar13 = ReadBlobByte(puVar17);" (assignment_expression "bVar13 = ReadBlobByte(puVar17)" (identifier "bVar13") (= "=") (call_expression "ReadBlobByte(puVar17)" (identifier "ReadBlobByte") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (; ";")) (expression_statement "*(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;" (assignment_expression "*(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13" (pointer_expression "*(double *)(puVar17[10] + 0x30 + iVar23)" (* "*") (cast_expression "(double *)(puVar17[10] + 0x30 + iVar23)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17[10] + 0x30 + iVar23)" (( "(") (binary_expression "puVar17[10] + 0x30 + iVar23" (binary_expression "puVar17[10] + 0x30" (subscript_expression "puVar17[10]" (identifier "puVar17") ([ "[") (number_literal "10") (] "]")) (+ "+") (number_literal "0x30")) (+ "+") (identifier "iVar23")) () ")")))) (= "=") (binary_expression "dVar1 * (double)bVar13" (identifier "dVar1") (* "*") (cast_expression "(double)bVar13" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "bVar13")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(0xff - (uint)uVar16 != iVar22)" (( "(") (binary_expression "0xff - (uint)uVar16 != iVar22" (binary_expression "0xff - (uint)uVar16" (number_literal "0xff") (- "-") (cast_expression "(uint)uVar16" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar16"))) (!= "!=") (identifier "iVar22")) () ")")) (; ";")) (} "}"))) (} "}")))) (if_statement "if ((short)uVar14 < 0) goto LAB_00262c40;" (if "if") (parenthesized_expression "((short)uVar14 < 0)" (( "(") (binary_expression "(short)uVar14 < 0" (cast_expression "(short)uVar14" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "uVar14")) (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_00262c40;" (goto "goto") (statement_identifier "LAB_00262c40") (; ";"))) (} "}")) (else_clause "else {\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }" (else "else") (compound_statement "{\n          if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }\n          *puVar17 = 1;\n          if (uVar20 == 0x10) goto LAB_002622bf;\n        }" ({ "{") (if_statement "if ((short)uVar14 < 0) {\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }" (if "if") (parenthesized_expression "((short)uVar14 < 0)" (( "(") (binary_expression "(short)uVar14 < 0" (cast_expression "(short)uVar14" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "uVar14")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00262c40:\n            ReadBlobMSBShort(puVar17);\n          }" ({ "{") (labeled_statement "LAB_00262c40:\n            ReadBlobMSBShort(puVar17);" (statement_identifier "LAB_00262c40") (: ":") (expression_statement "ReadBlobMSBShort(puVar17);" (call_expression "ReadBlobMSBShort(puVar17)" (identifier "ReadBlobMSBShort") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")"))) (; ";"))) (} "}"))) (expression_statement "*puVar17 = 1;" (assignment_expression "*puVar17 = 1" (pointer_expression "*puVar17" (* "*") (identifier "puVar17")) (= "=") (number_literal "1")) (; ";")) (if_statement "if (uVar20 == 0x10) goto LAB_002622bf;" (if "if") (parenthesized_expression "(uVar20 == 0x10)" (( "(") (binary_expression "uVar20 == 0x10" (identifier "uVar20") (== "==") (number_literal "0x10")) () ")")) (goto_statement "goto LAB_002622bf;" (goto "goto") (statement_identifier "LAB_002622bf") (; ";"))) (} "}")))) (expression_statement "*puVar17 = 2;" (assignment_expression "*puVar17 = 2" (pointer_expression "*puVar17" (* "*") (identifier "puVar17")) (= "=") (number_literal "2")) (; ";")) (expression_statement "puVar17[8] = 8;" (assignment_expression "puVar17[8] = 8" (subscript_expression "puVar17[8]" (identifier "puVar17") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "8")) (; ";")) (} "}")))) (labeled_statement "LAB_002622bf:\n      local_a0 = local_70;" (statement_identifier "LAB_002622bf") (: ":") (expression_statement "local_a0 = local_70;" (assignment_expression "local_a0 = local_70" (identifier "local_a0") (= "=") (identifier "local_70")) (; ";"))) (if_statement "if (*(int *)(param_1 + 0x1bc) != 0) {\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }" (if "if") (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")) () ")")) (compound_statement "{\n        CloseBlob(puVar17);\n        puVar24 = puVar17;\n        goto LAB_002621b8;\n      }" ({ "{") (expression_statement "CloseBlob(puVar17);" (call_expression "CloseBlob(puVar17)" (identifier "CloseBlob") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")"))) (; ";")) (expression_statement "puVar24 = puVar17;" (assignment_expression "puVar24 = puVar17" (identifier "puVar24") (= "=") (identifier "puVar17")) (; ";")) (goto_statement "goto LAB_002621b8;" (goto "goto") (statement_identifier "LAB_002621b8") (; ";")) (} "}"))) (expression_statement "local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);" (assignment_expression "local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2)" (identifier "local_9c") (= "=") (call_expression "SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2)" (identifier "SetImageExtent") (argument_list "(puVar17,puVar17[6],puVar17[7],param_2)" (( "(") (identifier "puVar17") (, ",") (subscript_expression "puVar17[6]" (identifier "puVar17") ([ "[") (number_literal "6") (] "]")) (, ",") (subscript_expression "puVar17[7]" (identifier "puVar17") ([ "[") (number_literal "7") (] "]")) (, ",") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (local_9c == 0) goto LAB_00262f23;" (if "if") (parenthesized_expression "(local_9c == 0)" (( "(") (binary_expression "local_9c == 0" (identifier "local_9c") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00262f23;" (goto "goto") (statement_identifier "LAB_00262f23") (; ";"))) (expression_statement "uVar26 = puVar17[6] * 2;" (assignment_expression "uVar26 = puVar17[6] * 2" (identifier "uVar26") (= "=") (binary_expression "puVar17[6] * 2" (subscript_expression "puVar17[6]" (identifier "puVar17") ([ "[") (number_literal "6") (] "]")) (* "*") (number_literal "2"))) (; ";")) (if_statement "if ((uint)(puVar17[6] * 2) < uVar19) {\n        uVar26 = uVar19;\n      }" (if "if") (parenthesized_expression "((uint)(puVar17[6] * 2) < uVar19)" (( "(") (binary_expression "(uint)(puVar17[6] * 2) < uVar19" (call_expression "(uint)(puVar17[6] * 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar17[6] * 2)" (( "(") (binary_expression "puVar17[6] * 2" (subscript_expression "puVar17[6]" (identifier "puVar17") ([ "[") (number_literal "6") (] "]")) (* "*") (number_literal "2")) () ")"))) (< "<") (identifier "uVar19")) () ")")) (compound_statement "{\n        uVar26 = uVar19;\n      }" ({ "{") (expression_statement "uVar26 = uVar19;" (assignment_expression "uVar26 = uVar19" (identifier "uVar26") (= "=") (identifier "uVar19")) (; ";")) (} "}"))) (expression_statement "__s = (ushort *)AcquireQuantumMemory(uVar26,1);" (assignment_expression "__s = (ushort *)AcquireQuantumMemory(uVar26,1)" (identifier "__s") (= "=") (cast_expression "(ushort *)AcquireQuantumMemory(uVar26,1)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "AcquireQuantumMemory(uVar26,1)" (identifier "AcquireQuantumMemory") (argument_list "(uVar26,1)" (( "(") (identifier "uVar26") (, ",") (number_literal "1") () ")"))))) (; ";")) (if_statement "if (__s == (ushort *)0x0) {\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }" (if "if") (parenthesized_expression "(__s == (ushort *)0x0)" (( "(") (binary_expression "__s == (ushort *)0x0" (identifier "__s") (== "==") (cast_expression "(ushort *)0x0" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pcVar47 = "MemoryAllocationFailed";\n        uVar46 = 400;\n        uVar45 = 0x19c;\n        goto LAB_0026218b;\n      }" ({ "{") (expression_statement "pcVar47 = "MemoryAllocationFailed";" (assignment_expression "pcVar47 = "MemoryAllocationFailed"" (identifier "pcVar47") (= "=") (string_literal ""MemoryAllocationFailed"" (" """) (string_content "MemoryAllocationFailed") (" """))) (; ";")) (expression_statement "uVar46 = 400;" (assignment_expression "uVar46 = 400" (identifier "uVar46") (= "=") (number_literal "400")) (; ";")) (expression_statement "uVar45 = 0x19c;" (assignment_expression "uVar45 = 0x19c" (identifier "uVar45") (= "=") (number_literal "0x19c")) (; ";")) (goto_statement "goto LAB_0026218b;" (goto "goto") (statement_identifier "LAB_0026218b") (; ";")) (} "}"))) (expression_statement "memset(__s,0,uVar26);" (call_expression "memset(__s,0,uVar26)" (identifier "memset") (argument_list "(__s,0,uVar26)" (( "(") (identifier "__s") (, ",") (number_literal "0") (, ",") (identifier "uVar26") () ")"))) (; ";")) (expression_statement "local_b0 = (void *)0x0;" (assignment_expression "local_b0 = (void *)0x0" (identifier "local_b0") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (uVar21 == 0) {\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }" (if "if") (parenthesized_expression "(uVar21 == 0)" (( "(") (binary_expression "uVar21 == 0" (identifier "uVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);\n        if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }\n        uVar26 = puVar17[6] * 2;\n        if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }\n        memset(local_b0,0,uVar26);\n      }" ({ "{") (expression_statement "uVar26 = puVar17[6] * 2;" (assignment_expression "uVar26 = puVar17[6] * 2" (identifier "uVar26") (= "=") (binary_expression "puVar17[6] * 2" (subscript_expression "puVar17[6]" (identifier "puVar17") ([ "[") (number_literal "6") (] "]")) (* "*") (number_literal "2"))) (; ";")) (if_statement "if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }" (if "if") (parenthesized_expression "((uint)(puVar17[6] * 2) < uVar19)" (( "(") (binary_expression "(uint)(puVar17[6] * 2) < uVar19" (call_expression "(uint)(puVar17[6] * 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar17[6] * 2)" (( "(") (binary_expression "puVar17[6] * 2" (subscript_expression "puVar17[6]" (identifier "puVar17") ([ "[") (number_literal "6") (] "]")) (* "*") (number_literal "2")) () ")"))) (< "<") (identifier "uVar19")) () ")")) (compound_statement "{\n          uVar26 = uVar19;\n        }" ({ "{") (expression_statement "uVar26 = uVar19;" (assignment_expression "uVar26 = uVar19" (identifier "uVar26") (= "=") (identifier "uVar19")) (; ";")) (} "}"))) (expression_statement "local_b0 = (void *)AcquireQuantumMemory(uVar26,1);" (assignment_expression "local_b0 = (void *)AcquireQuantumMemory(uVar26,1)" (identifier "local_b0") (= "=") (cast_expression "(void *)AcquireQuantumMemory(uVar26,1)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "AcquireQuantumMemory(uVar26,1)" (identifier "AcquireQuantumMemory") (argument_list "(uVar26,1)" (( "(") (identifier "uVar26") (, ",") (number_literal "1") () ")"))))) (; ";")) (if_statement "if (local_b0 == (void *)0x0) {\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }" (if "if") (parenthesized_expression "(local_b0 == (void *)0x0)" (( "(") (binary_expression "local_b0 == (void *)0x0" (identifier "local_b0") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          RelinquishMagickMemory(__s);\n          pcVar47 = "MemoryAllocationFailed";\n          uVar46 = 400;\n          uVar45 = 0x1a6;\n          goto LAB_0026218b;\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(__s);" (call_expression "RelinquishMagickMemory(__s)" (identifier "RelinquishMagickMemory") (argument_list "(__s)" (( "(") (identifier "__s") () ")"))) (; ";")) (expression_statement "pcVar47 = "MemoryAllocationFailed";" (assignment_expression "pcVar47 = "MemoryAllocationFailed"" (identifier "pcVar47") (= "=") (string_literal ""MemoryAllocationFailed"" (" """) (string_content "MemoryAllocationFailed") (" """))) (; ";")) (expression_statement "uVar46 = 400;" (assignment_expression "uVar46 = 400" (identifier "uVar46") (= "=") (number_literal "400")) (; ";")) (expression_statement "uVar45 = 0x1a6;" (assignment_expression "uVar45 = 0x1a6" (identifier "uVar45") (= "=") (number_literal "0x1a6")) (; ";")) (goto_statement "goto LAB_0026218b;" (goto "goto") (statement_identifier "LAB_0026218b") (; ";")) (} "}"))) (expression_statement "uVar26 = puVar17[6] * 2;" (assignment_expression "uVar26 = puVar17[6] * 2" (identifier "uVar26") (= "=") (binary_expression "puVar17[6] * 2" (subscript_expression "puVar17[6]" (identifier "puVar17") ([ "[") (number_literal "6") (] "]")) (* "*") (number_literal "2"))) (; ";")) (if_statement "if ((uint)(puVar17[6] * 2) < uVar19) {\n          uVar26 = uVar19;\n        }" (if "if") (parenthesized_expression "((uint)(puVar17[6] * 2) < uVar19)" (( "(") (binary_expression "(uint)(puVar17[6] * 2) < uVar19" (call_expression "(uint)(puVar17[6] * 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar17[6] * 2)" (( "(") (binary_expression "puVar17[6] * 2" (subscript_expression "puVar17[6]" (identifier "puVar17") ([ "[") (number_literal "6") (] "]")) (* "*") (number_literal "2")) () ")"))) (< "<") (identifier "uVar19")) () ")")) (compound_statement "{\n          uVar26 = uVar19;\n        }" ({ "{") (expression_statement "uVar26 = uVar19;" (assignment_expression "uVar26 = uVar19" (identifier "uVar26") (= "=") (identifier "uVar19")) (; ";")) (} "}"))) (expression_statement "memset(local_b0,0,uVar26);" (call_expression "memset(local_b0,0,uVar26)" (identifier "memset") (argument_list "(local_b0,0,uVar26)" (( "(") (identifier "local_b0") (, ",") (number_literal "0") (, ",") (identifier "uVar26") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1;" (assignment_expression "iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1" (identifier "iVar22") (= "=") (binary_expression "(1 << ((byte)uVar20 & 0x1f)) + -1" (parenthesized_expression "(1 << ((byte)uVar20 & 0x1f))" (( "(") (binary_expression "1 << ((byte)uVar20 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)uVar20 & 0x1f)" (( "(") (binary_expression "(byte)uVar20 & 0x1f" (cast_expression "(byte)uVar20" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar20")) (& "&") (number_literal "0x1f")) () ")"))) () ")")) (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (0 < (int)puVar17[7]) {\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }" (if "if") (parenthesized_expression "(0 < (int)puVar17[7])" (( "(") (binary_expression "0 < (int)puVar17[7]" (number_literal "0") (< "<") (cast_expression "(int)puVar17[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar17[7]" (identifier "puVar17") ([ "[") (number_literal "7") (] "]")))) () ")")) (compound_statement "{\n        local_c8 = 0;\n        local_ac = 0;\n        local_a8 = 0;\n        do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);\n      }" ({ "{") (expression_statement "local_c8 = 0;" (assignment_expression "local_c8 = 0" (identifier "local_c8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" (identifier "local_ac") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" (identifier "local_a8") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        } while (local_c8 < iVar27);" (do "do") (compound_statement "{\n          if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }\n          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);\n          fVar12 = DAT_002df8a8;\n          if (iVar23 == 0) break;\n          uVar26 = puVar17[6];\n          if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }\n          if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }\n          if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }\n          local_c8 = local_c8 + 1;\n          bVar40 = 0xfffffffe < local_ac;\n          local_ac = local_ac + 1;\n          local_a8 = local_a8 + (uint)bVar40;\n        }" ({ "{") (if_statement "if ((short)uVar14 < 0) {\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }\n          else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }" (if "if") (parenthesized_expression "((short)uVar14 < 0)" (( "(") (binary_expression "(short)uVar14 < 0" (cast_expression "(short)uVar14" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "uVar14")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n            if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }\n          }" ({ "{") (if_statement "if (uVar21 == 1) {\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }\n            else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }" (if "if") (parenthesized_expression "(uVar21 == 1)" (( "(") (binary_expression "uVar21 == 1" (identifier "uVar21") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n              puVar17[2] = 0x13;\n              if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }\n            }" ({ "{") (expression_statement "puVar17[2] = 0x13;" (assignment_expression "puVar17[2] = 0x13" (subscript_expression "puVar17[2]" (identifier "puVar17") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x13")) (; ";")) (if_statement "if (uVar19 != 0) {\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }" (if "if") (parenthesized_expression "(uVar19 != 0)" (( "(") (binary_expression "uVar19 != 0" (identifier "uVar19") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                iVar23 = 0;\n                do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);\n              }" ({ "{") (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" (identifier "iVar23") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                } while (iVar23 < (int)uVar19);" (do "do") (compound_statement "{\n                  sVar29 = ReadBlobByte(puVar17);\n                  if ((int)sVar29 < 0) break;\n                  __n = uVar19 - iVar23;\n                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }\n                  iVar27 = ReadBlobByte(puVar17);\n                  pbVar28 = (byte *)((int)__s + iVar23);\n                  iVar23 = iVar23 + __n;\n                  memset(pbVar28,iVar27,__n);\n                }" ({ "{") (expression_statement "sVar29 = ReadBlobByte(puVar17);" (assignment_expression "sVar29 = ReadBlobByte(puVar17)" (identifier "sVar29") (= "=") (call_expression "ReadBlobByte(puVar17)" (identifier "ReadBlobByte") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (; ";")) (if_statement "if ((int)sVar29 < 0) break;" (if "if") (parenthesized_expression "((int)sVar29 < 0)" (( "(") (binary_expression "(int)sVar29 < 0" (cast_expression "(int)sVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "sVar29")) (< "<") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "__n = uVar19 - iVar23;" (assignment_expression "__n = uVar19 - iVar23" (identifier "__n") (= "=") (binary_expression "uVar19 - iVar23" (identifier "uVar19") (- "-") (identifier "iVar23"))) (; ";")) (if_statement "if ((int)sVar29 < (int)(uVar19 - iVar23)) {\n                    __n = sVar29;\n                  }" (if "if") (parenthesized_expression "((int)sVar29 < (int)(uVar19 - iVar23))" (( "(") (binary_expression "(int)sVar29 < (int)(uVar19 - iVar23)" (cast_expression "(int)sVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "sVar29")) (< "<") (cast_expression "(int)(uVar19 - iVar23)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar19 - iVar23)" (( "(") (binary_expression "uVar19 - iVar23" (identifier "uVar19") (- "-") (identifier "iVar23")) () ")")))) () ")")) (compound_statement "{\n                    __n = sVar29;\n                  }" ({ "{") (expression_statement "__n = sVar29;" (assignment_expression "__n = sVar29" (identifier "__n") (= "=") (identifier "sVar29")) (; ";")) (} "}"))) (expression_statement "iVar27 = ReadBlobByte(puVar17);" (assignment_expression "iVar27 = ReadBlobByte(puVar17)" (identifier "iVar27") (= "=") (call_expression "ReadBlobByte(puVar17)" (identifier "ReadBlobByte") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (; ";")) (expression_statement "pbVar28 = (byte *)((int)__s + iVar23);" (assignment_expression "pbVar28 = (byte *)((int)__s + iVar23)" (identifier "pbVar28") (= "=") (cast_expression "(byte *)((int)__s + iVar23)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__s + iVar23)" (( "(") (binary_expression "(int)__s + iVar23" (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s")) (+ "+") (identifier "iVar23")) () ")")))) (; ";")) (expression_statement "iVar23 = iVar23 + __n;" (assignment_expression "iVar23 = iVar23 + __n" (identifier "iVar23") (= "=") (binary_expression "iVar23 + __n" (identifier "iVar23") (+ "+") (identifier "__n"))) (; ";")) (expression_statement "memset(pbVar28,iVar27,__n);" (call_expression "memset(pbVar28,iVar27,__n)" (identifier "memset") (argument_list "(pbVar28,iVar27,__n)" (( "(") (identifier "pbVar28") (, ",") (identifier "iVar27") (, ",") (identifier "__n") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar23 < (int)uVar19)" (( "(") (binary_expression "iVar23 < (int)uVar19" (identifier "iVar23") (< "<") (cast_expression "(int)uVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar19"))) () ")")) (; ";")) (} "}"))) (} "}")) (else_clause "else if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }" (else "else") (if_statement "if (uVar21 == 0) {\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }" (if "if") (parenthesized_expression "(uVar21 == 0)" (( "(") (binary_expression "uVar21 == 0" (identifier "uVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              puVar17[2] = 7;\n              if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }\n              memcpy(local_b0,__s,uVar19);\n            }" ({ "{") (expression_statement "puVar17[2] = 7;" (assignment_expression "puVar17[2] = 7" (subscript_expression "puVar17[2]" (identifier "puVar17") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "7")) (; ";")) (if_statement "if (uVar19 != 0) {\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }" (if "if") (parenthesized_expression "(uVar19 != 0)" (( "(") (binary_expression "uVar19 != 0" (identifier "uVar19") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                local_f4 = 0;\n                puVar36 = __s;\n                do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);\n              }" ({ "{") (expression_statement "local_f4 = 0;" (assignment_expression "local_f4 = 0" (identifier "local_f4") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar36 = __s;" (assignment_expression "puVar36 = __s" (identifier "puVar36") (= "=") (identifier "__s")) (; ";")) (do_statement "do {\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);" (do "do") (compound_statement "{\n                  uVar26 = ReadBlobByte(puVar17);\n                  if ((int)uVar26 < 0) break;\n                  uVar38 = uVar19 - local_f4;\n                  if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }\nLAB_00262a23:\n                  local_f4 = local_f4 + 8;\n                  puVar36 = puVar36 + 4;\n                }" ({ "{") (expression_statement "uVar26 = ReadBlobByte(puVar17);" (assignment_expression "uVar26 = ReadBlobByte(puVar17)" (identifier "uVar26") (= "=") (call_expression "ReadBlobByte(puVar17)" (identifier "ReadBlobByte") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (; ";")) (if_statement "if ((int)uVar26 < 0) break;" (if "if") (parenthesized_expression "((int)uVar26 < 0)" (( "(") (binary_expression "(int)uVar26 < 0" (cast_expression "(int)uVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar26")) (< "<") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar38 = uVar19 - local_f4;" (assignment_expression "uVar38 = uVar19 - local_f4" (identifier "uVar38") (= "=") (binary_expression "uVar19 - local_f4" (identifier "uVar19") (- "-") (identifier "local_f4"))) (; ";")) (if_statement "if ((int)uVar38 < 8) {\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }\n                  else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }" (if "if") (parenthesized_expression "((int)uVar38 < 8)" (( "(") (binary_expression "(int)uVar38 < 8" (cast_expression "(int)uVar38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar38")) (< "<") (number_literal "8")) () ")")) (compound_statement "{\n                    if (uVar38 != 0) goto LAB_002629c0;\n                  }" ({ "{") (if_statement "if (uVar38 != 0) goto LAB_002629c0;" (if "if") (parenthesized_expression "(uVar38 != 0)" (( "(") (binary_expression "uVar38 != 0" (identifier "uVar38") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_002629c0;" (goto "goto") (statement_identifier "LAB_002629c0") (; ";"))) (} "}")) (else_clause "else {\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }" (else "else") (compound_statement "{\n                    uVar38 = 8;\nLAB_002629c0:\n                    uVar35 = 0;\n                    if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                  }" ({ "{") (expression_statement "uVar38 = 8;" (assignment_expression "uVar38 = 8" (identifier "uVar38") (= "=") (number_literal "8")) (; ";")) (labeled_statement "LAB_002629c0:\n                    uVar35 = 0;" (statement_identifier "LAB_002629c0") (: ":") (expression_statement "uVar35 = 0;" (assignment_expression "uVar35 = 0" (identifier "uVar35") (= "=") (number_literal "0")) (; ";"))) (if_statement "if (local_c8 == 0) {\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }\n                    else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }" (if "if") (parenthesized_expression "(local_c8 == 0)" (( "(") (binary_expression "local_c8 == 0" (identifier "local_c8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }" ({ "{") (do_statement "do {\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);" (do "do") (compound_statement "{\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      }" ({ "{") (expression_statement "bVar13 = ReadBlobByte(puVar17);" (assignment_expression "bVar13 = ReadBlobByte(puVar17)" (identifier "bVar13") (= "=") (call_expression "ReadBlobByte(puVar17)" (identifier "ReadBlobByte") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (; ";")) (expression_statement "*(byte *)((int)puVar36 + uVar35) = bVar13;" (assignment_expression "*(byte *)((int)puVar36 + uVar35) = bVar13" (pointer_expression "*(byte *)((int)puVar36 + uVar35)" (* "*") (cast_expression "(byte *)((int)puVar36 + uVar35)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar36 + uVar35)" (( "(") (binary_expression "(int)puVar36 + uVar35" (cast_expression "(int)puVar36" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar36")) (+ "+") (identifier "uVar35")) () ")")))) (= "=") (identifier "bVar13")) (; ";")) (expression_statement "uVar35 = uVar35 + 1;" (assignment_expression "uVar35 = uVar35 + 1" (identifier "uVar35") (= "=") (binary_expression "uVar35 + 1" (identifier "uVar35") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar35 < uVar38)" (( "(") (binary_expression "uVar35 < uVar38" (identifier "uVar35") (< "<") (identifier "uVar38")) () ")")) (; ";")) (} "}")) (else_clause "else {\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }" (else "else") (compound_statement "{\n                      uVar35 = 0;\n                      do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);\n                    }" ({ "{") (expression_statement "uVar35 = 0;" (assignment_expression "uVar35 = 0" (identifier "uVar35") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      } while (uVar35 < uVar38);" (do "do") (compound_statement "{\n                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }\n                        bVar13 = ReadBlobByte(puVar17);\n                        *(byte *)((int)puVar36 + uVar35) = bVar13;\n                        uVar35 = uVar35 + 1;\n                      }" ({ "{") (while_statement "while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }" (while "while") (parenthesized_expression "((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0)" (( "(") (binary_expression "(uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0" (parenthesized_expression "(uVar26 & 1 << (7U - (char)uVar35 & 0x1f))" (( "(") (binary_expression "uVar26 & 1 << (7U - (char)uVar35 & 0x1f)" (identifier "uVar26") (& "&") (binary_expression "1 << (7U - (char)uVar35 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "(7U - (char)uVar35 & 0x1f)" (( "(") (binary_expression "7U - (char)uVar35 & 0x1f" (binary_expression "7U - (char)uVar35" (number_literal "7U") (- "-") (cast_expression "(char)uVar35" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar35"))) (& "&") (number_literal "0x1f")) () ")")))) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                          *(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);\n                          uVar35 = uVar35 + 1;\n                          if (uVar38 <= uVar35) goto LAB_00262a23;\n                        }" ({ "{") (expression_statement "*(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4);" (assignment_expression "*(byte *)((int)puVar36 + uVar35) =\n                               *(byte *)((int)local_b0 + uVar35 + local_f4)" (pointer_expression "*(byte *)((int)puVar36 + uVar35)" (* "*") (cast_expression "(byte *)((int)puVar36 + uVar35)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar36 + uVar35)" (( "(") (binary_expression "(int)puVar36 + uVar35" (cast_expression "(int)puVar36" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar36")) (+ "+") (identifier "uVar35")) () ")")))) (= "=") (pointer_expression "*(byte *)((int)local_b0 + uVar35 + local_f4)" (* "*") (cast_expression "(byte *)((int)local_b0 + uVar35 + local_f4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_b0 + uVar35 + local_f4)" (( "(") (binary_expression "(int)local_b0 + uVar35 + local_f4" (binary_expression "(int)local_b0 + uVar35" (cast_expression "(int)local_b0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b0")) (+ "+") (identifier "uVar35")) (+ "+") (identifier "local_f4")) () ")"))))) (; ";")) (expression_statement "uVar35 = uVar35 + 1;" (assignment_expression "uVar35 = uVar35 + 1" (identifier "uVar35") (= "=") (binary_expression "uVar35 + 1" (identifier "uVar35") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar38 <= uVar35) goto LAB_00262a23;" (if "if") (parenthesized_expression "(uVar38 <= uVar35)" (( "(") (binary_expression "uVar38 <= uVar35" (identifier "uVar38") (<= "<=") (identifier "uVar35")) () ")")) (goto_statement "goto LAB_00262a23;" (goto "goto") (statement_identifier "LAB_00262a23") (; ";"))) (} "}"))) (expression_statement "bVar13 = ReadBlobByte(puVar17);" (assignment_expression "bVar13 = ReadBlobByte(puVar17)" (identifier "bVar13") (= "=") (call_expression "ReadBlobByte(puVar17)" (identifier "ReadBlobByte") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (; ";")) (expression_statement "*(byte *)((int)puVar36 + uVar35) = bVar13;" (assignment_expression "*(byte *)((int)puVar36 + uVar35) = bVar13" (pointer_expression "*(byte *)((int)puVar36 + uVar35)" (* "*") (cast_expression "(byte *)((int)puVar36 + uVar35)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar36 + uVar35)" (( "(") (binary_expression "(int)puVar36 + uVar35" (cast_expression "(int)puVar36" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar36")) (+ "+") (identifier "uVar35")) () ")")))) (= "=") (identifier "bVar13")) (; ";")) (expression_statement "uVar35 = uVar35 + 1;" (assignment_expression "uVar35 = uVar35 + 1" (identifier "uVar35") (= "=") (binary_expression "uVar35 + 1" (identifier "uVar35") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar35 < uVar38)" (( "(") (binary_expression "uVar35 < uVar38" (identifier "uVar35") (< "<") (identifier "uVar38")) () ")")) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_00262a23:\n                  local_f4 = local_f4 + 8;" (statement_identifier "LAB_00262a23") (: ":") (expression_statement "local_f4 = local_f4 + 8;" (assignment_expression "local_f4 = local_f4 + 8" (identifier "local_f4") (= "=") (binary_expression "local_f4 + 8" (identifier "local_f4") (+ "+") (number_literal "8"))) (; ";"))) (expression_statement "puVar36 = puVar36 + 4;" (assignment_expression "puVar36 = puVar36 + 4" (identifier "puVar36") (= "=") (binary_expression "puVar36 + 4" (identifier "puVar36") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_f4 != (uVar19 - 1 & 0xfffffff8) + 8)" (( "(") (binary_expression "local_f4 != (uVar19 - 1 & 0xfffffff8) + 8" (identifier "local_f4") (!= "!=") (binary_expression "(uVar19 - 1 & 0xfffffff8) + 8" (parenthesized_expression "(uVar19 - 1 & 0xfffffff8)" (( "(") (binary_expression "uVar19 - 1 & 0xfffffff8" (binary_expression "uVar19 - 1" (identifier "uVar19") (- "-") (number_literal "1")) (& "&") (number_literal "0xfffffff8")) () ")")) (+ "+") (number_literal "8"))) () ")")) (; ";")) (} "}"))) (expression_statement "memcpy(local_b0,__s,uVar19);" (call_expression "memcpy(local_b0,__s,uVar19)" (identifier "memcpy") (argument_list "(local_b0,__s,uVar19)" (( "(") (identifier "local_b0") (, ",") (identifier "__s") (, ",") (identifier "uVar19") () ")"))) (; ";")) (} "}"))))) (} "}")) (else_clause "else {\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }" (else "else") (compound_statement "{\n            puVar17[2] = 0x10;\n            uVar26 = ReadBlob(puVar17,uVar19,__s);\n            if (uVar26 != uVar19) break;\n          }" ({ "{") (expression_statement "puVar17[2] = 0x10;" (assignment_expression "puVar17[2] = 0x10" (subscript_expression "puVar17[2]" (identifier "puVar17") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x10")) (; ";")) (expression_statement "uVar26 = ReadBlob(puVar17,uVar19,__s);" (assignment_expression "uVar26 = ReadBlob(puVar17,uVar19,__s)" (identifier "uVar26") (= "=") (call_expression "ReadBlob(puVar17,uVar19,__s)" (identifier "ReadBlob") (argument_list "(puVar17,uVar19,__s)" (( "(") (identifier "puVar17") (, ",") (identifier "uVar19") (, ",") (identifier "__s") () ")")))) (; ";")) (if_statement "if (uVar26 != uVar19) break;" (if "if") (parenthesized_expression "(uVar26 != uVar19)" (( "(") (binary_expression "uVar26 != uVar19" (identifier "uVar26") (!= "!=") (identifier "uVar19")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}")))) (expression_statement "iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);" (assignment_expression "iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2)" (identifier "iVar23") (= "=") (call_expression "QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2)" (identifier "QueueAuthenticPixels") (argument_list "(puVar17,0,local_c8,puVar17[6],1,param_2)" (( "(") (identifier "puVar17") (, ",") (number_literal "0") (, ",") (identifier "local_c8") (, ",") (subscript_expression "puVar17[6]" (identifier "puVar17") ([ "[") (number_literal "6") (] "]")) (, ",") (number_literal "1") (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "fVar12 = DAT_002df8a8;" (assignment_expression "fVar12 = DAT_002df8a8" (identifier "fVar12") (= "=") (identifier "DAT_002df8a8")) (; ";")) (if_statement "if (iVar23 == 0) break;" (if "if") (parenthesized_expression "(iVar23 == 0)" (( "(") (binary_expression "iVar23 == 0" (identifier "iVar23") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar26 = puVar17[6];" (assignment_expression "uVar26 = puVar17[6]" (identifier "uVar26") (= "=") (subscript_expression "puVar17[6]" (identifier "puVar17") ([ "[") (number_literal "6") (] "]"))) (; ";")) (if_statement "if (uVar20 != 0x10) {\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }" (if "if") (parenthesized_expression "(uVar20 != 0x10)" (( "(") (binary_expression "uVar20 != 0x10" (identifier "uVar20") (!= "!=") (number_literal "0x10")) () ")")) (compound_statement "{\n            if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }\n            iVar23 = SyncAuthenticPixels(puVar17,param_2);\n            if (iVar23 != 0) goto LAB_00262579;\n            break;\n          }" ({ "{") (if_statement "if (0 < (int)uVar26) {\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }" (if "if") (parenthesized_expression "(0 < (int)uVar26)" (( "(") (binary_expression "0 < (int)uVar26" (number_literal "0") (< "<") (cast_expression "(int)uVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar26"))) () ")")) (compound_statement "{\n              if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }\n              iVar34 = 0;\n              iVar27 = puVar17[0xaa];\n              iVar2 = *(int *)(iVar27 + 0x40);\n              iVar3 = puVar17[10];\n              iVar4 = puVar17[0xa6];\n              iVar5 = *(int *)(iVar27 + 8);\n              iVar6 = *(int *)(iVar27 + 0x14);\n              iVar7 = *(int *)(iVar27 + 0x20);\n              iVar8 = *(int *)(iVar27 + 0x28);\n              iVar9 = *(int *)(iVar27 + 0x34);\n              iVar31 = 8 - uVar20;\n              puVar36 = __s;\n              while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }\n            }" ({ "{") (if_statement "if (uVar19 == 0) {\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }" (if "if") (parenthesized_expression "(uVar19 == 0)" (( "(") (binary_expression "uVar19 == 0" (identifier "uVar19") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_002628e2:\n                RelinquishMagickMemory(__s);\n                if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }\n                pcVar47 = "CorruptImage";\n                uVar46 = 0x1a9;\n                uVar45 = 0x206;\n                goto LAB_0026218b;\n              }" ({ "{") (labeled_statement "LAB_002628e2:\n                RelinquishMagickMemory(__s);" (statement_identifier "LAB_002628e2") (: ":") (expression_statement "RelinquishMagickMemory(__s);" (call_expression "RelinquishMagickMemory(__s)" (identifier "RelinquishMagickMemory") (argument_list "(__s)" (( "(") (identifier "__s") () ")"))) (; ";"))) (if_statement "if (uVar21 == 0) {\n                  RelinquishMagickMemory(local_b0);\n                }" (if "if") (parenthesized_expression "(uVar21 == 0)" (( "(") (binary_expression "uVar21 == 0" (identifier "uVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  RelinquishMagickMemory(local_b0);\n                }" ({ "{") (expression_statement "RelinquishMagickMemory(local_b0);" (call_expression "RelinquishMagickMemory(local_b0)" (identifier "RelinquishMagickMemory") (argument_list "(local_b0)" (( "(") (identifier "local_b0") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar47 = "CorruptImage";" (assignment_expression "pcVar47 = "CorruptImage"" (identifier "pcVar47") (= "=") (string_literal ""CorruptImage"" (" """) (string_content "CorruptImage") (" """))) (; ";")) (expression_statement "uVar46 = 0x1a9;" (assignment_expression "uVar46 = 0x1a9" (identifier "uVar46") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar45 = 0x206;" (assignment_expression "uVar45 = 0x206" (identifier "uVar45") (= "=") (number_literal "0x206")) (; ";")) (goto_statement "goto LAB_0026218b;" (goto "goto") (statement_identifier "LAB_0026218b") (; ";")) (} "}"))) (expression_statement "iVar34 = 0;" (assignment_expression "iVar34 = 0" (identifier "iVar34") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar27 = puVar17[0xaa];" (assignment_expression "iVar27 = puVar17[0xaa]" (identifier "iVar27") (= "=") (subscript_expression "puVar17[0xaa]" (identifier "puVar17") ([ "[") (number_literal "0xaa") (] "]"))) (; ";")) (expression_statement "iVar2 = *(int *)(iVar27 + 0x40);" (assignment_expression "iVar2 = *(int *)(iVar27 + 0x40)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(iVar27 + 0x40)" (* "*") (cast_expression "(int *)(iVar27 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x40)" (( "(") (binary_expression "iVar27 + 0x40" (identifier "iVar27") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "iVar3 = puVar17[10];" (assignment_expression "iVar3 = puVar17[10]" (identifier "iVar3") (= "=") (subscript_expression "puVar17[10]" (identifier "puVar17") ([ "[") (number_literal "10") (] "]"))) (; ";")) (expression_statement "iVar4 = puVar17[0xa6];" (assignment_expression "iVar4 = puVar17[0xa6]" (identifier "iVar4") (= "=") (subscript_expression "puVar17[0xa6]" (identifier "puVar17") ([ "[") (number_literal "0xa6") (] "]"))) (; ";")) (expression_statement "iVar5 = *(int *)(iVar27 + 8);" (assignment_expression "iVar5 = *(int *)(iVar27 + 8)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(iVar27 + 8)" (* "*") (cast_expression "(int *)(iVar27 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 8)" (( "(") (binary_expression "iVar27 + 8" (identifier "iVar27") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar6 = *(int *)(iVar27 + 0x14);" (assignment_expression "iVar6 = *(int *)(iVar27 + 0x14)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(iVar27 + 0x14)" (* "*") (cast_expression "(int *)(iVar27 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x14)" (( "(") (binary_expression "iVar27 + 0x14" (identifier "iVar27") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar7 = *(int *)(iVar27 + 0x20);" (assignment_expression "iVar7 = *(int *)(iVar27 + 0x20)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(iVar27 + 0x20)" (* "*") (cast_expression "(int *)(iVar27 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x20)" (( "(") (binary_expression "iVar27 + 0x20" (identifier "iVar27") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "iVar8 = *(int *)(iVar27 + 0x28);" (assignment_expression "iVar8 = *(int *)(iVar27 + 0x28)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(iVar27 + 0x28)" (* "*") (cast_expression "(int *)(iVar27 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x28)" (( "(") (binary_expression "iVar27 + 0x28" (identifier "iVar27") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "iVar9 = *(int *)(iVar27 + 0x34);" (assignment_expression "iVar9 = *(int *)(iVar27 + 0x34)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(iVar27 + 0x34)" (* "*") (cast_expression "(int *)(iVar27 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x34)" (( "(") (binary_expression "iVar27 + 0x34" (identifier "iVar27") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "iVar31 = 8 - uVar20;" (assignment_expression "iVar31 = 8 - uVar20" (identifier "iVar31") (= "=") (binary_expression "8 - uVar20" (number_literal "8") (- "-") (identifier "uVar20"))) (; ";")) (expression_statement "puVar36 = __s;" (assignment_expression "puVar36 = __s" (identifier "puVar36") (= "=") (identifier "__s")) (; ";")) (while_statement "while( true ) {\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));\n                if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }\n                iVar33 = uVar38 * 0x50 + iVar3;\n                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);\n                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);\n                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);\n                if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }\n                if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }\n                if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }\n                if (uVar26 == iVar34 + 1U) break;\n                iVar34 = iVar34 + 1;\n                iVar23 = iVar23 + iVar4 * 8;\n                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;\n              }" ({ "{") (expression_statement "uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f));" (assignment_expression "uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f))" (identifier "uVar38") (= "=") (binary_expression "iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f))" (identifier "iVar22") (- "-") (parenthesized_expression "(((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f))" (( "(") (binary_expression "((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>\n                                  ((byte)iVar31 & 0x1f)" (parenthesized_expression "((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f))" (( "(") (binary_expression "(uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)" (binary_expression "(uint)(byte)*puVar36" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (* "*") (identifier "puVar36")) (& "&") (binary_expression "iVar22 << ((byte)iVar31 & 0x1f)" (identifier "iVar22") (<< "<<") (parenthesized_expression "((byte)iVar31 & 0x1f)" (( "(") (binary_expression "(byte)iVar31 & 0x1f" (cast_expression "(byte)iVar31" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "iVar31")) (& "&") (number_literal "0x1f")) () ")")))) () ")")) (>> ">>") (parenthesized_expression "((byte)iVar31 & 0x1f)" (( "(") (binary_expression "(byte)iVar31 & 0x1f" (cast_expression "(byte)iVar31" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "iVar31")) (& "&") (number_literal "0x1f")) () ")"))) () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;\n                }" ({ "{") (expression_statement "*(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;" (assignment_expression "*(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38" (pointer_expression "*(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8)" (* "*") (cast_expression "(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + *(int *)(iVar27 + 0x44) * 8)" (( "(") (binary_expression "iVar23 + *(int *)(iVar27 + 0x44) * 8" (identifier "iVar23") (+ "+") (binary_expression "*(int *)(iVar27 + 0x44) * 8" (pointer_expression "*(int *)(iVar27 + 0x44)" (* "*") (cast_expression "(int *)(iVar27 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x44)" (( "(") (binary_expression "iVar27 + 0x44" (identifier "iVar27") (+ "+") (number_literal "0x44")) () ")")))) (* "*") (number_literal "8"))) () ")")))) (= "=") (cast_expression "(double)uVar38" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "uVar38"))) (; ";")) (} "}"))) (expression_statement "iVar33 = uVar38 * 0x50 + iVar3;" (assignment_expression "iVar33 = uVar38 * 0x50 + iVar3" (identifier "iVar33") (= "=") (binary_expression "uVar38 * 0x50 + iVar3" (binary_expression "uVar38 * 0x50" (identifier "uVar38") (* "*") (number_literal "0x50")) (+ "+") (identifier "iVar3"))) (; ";")) (expression_statement "*(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);" (assignment_expression "*(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20)" (pointer_expression "*(undefined8 *)(iVar23 + iVar5 * 8)" (* "*") (cast_expression "(undefined8 *)(iVar23 + iVar5 * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + iVar5 * 8)" (( "(") (binary_expression "iVar23 + iVar5 * 8" (identifier "iVar23") (+ "+") (binary_expression "iVar5 * 8" (identifier "iVar5") (* "*") (number_literal "8"))) () ")")))) (= "=") (pointer_expression "*(undefined8 *)(iVar33 + 0x20)" (* "*") (cast_expression "(undefined8 *)(iVar33 + 0x20)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar33 + 0x20)" (( "(") (binary_expression "iVar33 + 0x20" (identifier "iVar33") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "*(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);" (assignment_expression "*(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28)" (pointer_expression "*(undefined8 *)(iVar23 + iVar6 * 8)" (* "*") (cast_expression "(undefined8 *)(iVar23 + iVar6 * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + iVar6 * 8)" (( "(") (binary_expression "iVar23 + iVar6 * 8" (identifier "iVar23") (+ "+") (binary_expression "iVar6 * 8" (identifier "iVar6") (* "*") (number_literal "8"))) () ")")))) (= "=") (pointer_expression "*(undefined8 *)(iVar33 + 0x28)" (* "*") (cast_expression "(undefined8 *)(iVar33 + 0x28)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar33 + 0x28)" (( "(") (binary_expression "iVar33 + 0x28" (identifier "iVar33") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "*(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);" (assignment_expression "*(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30)" (pointer_expression "*(undefined8 *)(iVar23 + iVar7 * 8)" (* "*") (cast_expression "(undefined8 *)(iVar23 + iVar7 * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + iVar7 * 8)" (( "(") (binary_expression "iVar23 + iVar7 * 8" (identifier "iVar23") (+ "+") (binary_expression "iVar7 * 8" (identifier "iVar7") (* "*") (number_literal "8"))) () ")")))) (= "=") (pointer_expression "*(undefined8 *)(iVar33 + 0x30)" (* "*") (cast_expression "(undefined8 *)(iVar33 + 0x30)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar33 + 0x30)" (( "(") (binary_expression "iVar33 + 0x30" (identifier "iVar33") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (if_statement "if (iVar8 != 0) {\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);\n                }" ({ "{") (expression_statement "*(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38);" (assignment_expression "*(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =\n                       *(undefined8 *)(iVar33 + 0x38)" (pointer_expression "*(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8)" (* "*") (cast_expression "(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + *(int *)(iVar27 + 0x2c) * 8)" (( "(") (binary_expression "iVar23 + *(int *)(iVar27 + 0x2c) * 8" (identifier "iVar23") (+ "+") (binary_expression "*(int *)(iVar27 + 0x2c) * 8" (pointer_expression "*(int *)(iVar27 + 0x2c)" (* "*") (cast_expression "(int *)(iVar27 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x2c)" (( "(") (binary_expression "iVar27 + 0x2c" (identifier "iVar27") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "8"))) () ")")))) (= "=") (pointer_expression "*(undefined8 *)(iVar33 + 0x38)" (* "*") (cast_expression "(undefined8 *)(iVar33 + 0x38)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar33 + 0x38)" (( "(") (binary_expression "iVar33 + 0x38" (identifier "iVar33") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (} "}"))) (if_statement "if (iVar9 != 0) {\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  fVar11 = fVar12;\n                  if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }\n                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;\n                }" ({ "{") (expression_statement "fVar11 = fVar12;" (assignment_expression "fVar11 = fVar12" (identifier "fVar11") (= "=") (identifier "fVar12")) (; ";")) (if_statement "if (*(int *)(iVar33 + 8) != 0) {\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }" (if "if") (parenthesized_expression "(*(int *)(iVar33 + 8) != 0)" (( "(") (binary_expression "*(int *)(iVar33 + 8) != 0" (pointer_expression "*(int *)(iVar33 + 8)" (* "*") (cast_expression "(int *)(iVar33 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar33 + 8)" (( "(") (binary_expression "iVar33 + 8" (identifier "iVar33") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    fVar11 = (float)*(double *)(iVar33 + 0x40);\n                  }" ({ "{") (expression_statement "fVar11 = (float)*(double *)(iVar33 + 0x40);" (assignment_expression "fVar11 = (float)*(double *)(iVar33 + 0x40)" (identifier "fVar11") (= "=") (cast_expression "(float)*(double *)(iVar33 + 0x40)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar33 + 0x40)" (* "*") (cast_expression "(double *)(iVar33 + 0x40)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar33 + 0x40)" (( "(") (binary_expression "iVar33 + 0x40" (identifier "iVar33") (+ "+") (number_literal "0x40")) () ")")))))) (; ";")) (} "}"))) (expression_statement "*(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;" (assignment_expression "*(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11" (pointer_expression "*(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + *(int *)(iVar27 + 0x38) * 8)" (( "(") (binary_expression "iVar23 + *(int *)(iVar27 + 0x38) * 8" (identifier "iVar23") (+ "+") (binary_expression "*(int *)(iVar27 + 0x38) * 8" (pointer_expression "*(int *)(iVar27 + 0x38)" (* "*") (cast_expression "(int *)(iVar27 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x38)" (( "(") (binary_expression "iVar27 + 0x38" (identifier "iVar27") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")")))) (= "=") (cast_expression "(double)fVar11" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar11"))) (; ";")) (} "}"))) (if_statement "if (iVar31 == 0) {\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }\n                else {\n                  iVar31 = iVar31 - uVar20;\n                }" (if "if") (parenthesized_expression "(iVar31 == 0)" (( "(") (binary_expression "iVar31 == 0" (identifier "iVar31") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  puVar36 = (ushort *)((int)puVar36 + 1);\n                  iVar31 = 8 - uVar20;\n                }" ({ "{") (expression_statement "puVar36 = (ushort *)((int)puVar36 + 1);" (assignment_expression "puVar36 = (ushort *)((int)puVar36 + 1)" (identifier "puVar36") (= "=") (cast_expression "(ushort *)((int)puVar36 + 1)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar36 + 1)" (( "(") (binary_expression "(int)puVar36 + 1" (cast_expression "(int)puVar36" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar36")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar31 = 8 - uVar20;" (assignment_expression "iVar31 = 8 - uVar20" (identifier "iVar31") (= "=") (binary_expression "8 - uVar20" (number_literal "8") (- "-") (identifier "uVar20"))) (; ";")) (} "}")) (else_clause "else {\n                  iVar31 = iVar31 - uVar20;\n                }" (else "else") (compound_statement "{\n                  iVar31 = iVar31 - uVar20;\n                }" ({ "{") (expression_statement "iVar31 = iVar31 - uVar20;" (assignment_expression "iVar31 = iVar31 - uVar20" (identifier "iVar31") (= "=") (binary_expression "iVar31 - uVar20" (identifier "iVar31") (- "-") (identifier "uVar20"))) (; ";")) (} "}")))) (if_statement "if (uVar26 == iVar34 + 1U) break;" (if "if") (parenthesized_expression "(uVar26 == iVar34 + 1U)" (( "(") (binary_expression "uVar26 == iVar34 + 1U" (identifier "uVar26") (== "==") (binary_expression "iVar34 + 1U" (identifier "iVar34") (+ "+") (number_literal "1U"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar34 = iVar34 + 1;" (assignment_expression "iVar34 = iVar34 + 1" (identifier "iVar34") (= "=") (binary_expression "iVar34 + 1" (identifier "iVar34") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar23 = iVar23 + iVar4 * 8;" (assignment_expression "iVar23 = iVar23 + iVar4 * 8" (identifier "iVar23") (= "=") (binary_expression "iVar23 + iVar4 * 8" (identifier "iVar23") (+ "+") (binary_expression "iVar4 * 8" (identifier "iVar4") (* "*") (number_literal "8")))) (; ";")) (if_statement "if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;" (if "if") (parenthesized_expression "(uVar19 <= (uint)((int)puVar36 - (int)__s))" (( "(") (binary_expression "uVar19 <= (uint)((int)puVar36 - (int)__s)" (identifier "uVar19") (<= "<=") (call_expression "(uint)((int)puVar36 - (int)__s)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)puVar36 - (int)__s)" (( "(") (binary_expression "(int)puVar36 - (int)__s" (cast_expression "(int)puVar36" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar36")) (- "-") (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s"))) () ")")))) () ")")) (goto_statement "goto LAB_002628e2;" (goto "goto") (statement_identifier "LAB_002628e2") (; ";"))) (} "}"))) (} "}"))) (expression_statement "iVar23 = SyncAuthenticPixels(puVar17,param_2);" (assignment_expression "iVar23 = SyncAuthenticPixels(puVar17,param_2)" (identifier "iVar23") (= "=") (call_expression "SyncAuthenticPixels(puVar17,param_2)" (identifier "SyncAuthenticPixels") (argument_list "(puVar17,param_2)" (( "(") (identifier "puVar17") (, ",") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (iVar23 != 0) goto LAB_00262579;" (if "if") (parenthesized_expression "(iVar23 != 0)" (( "(") (binary_expression "iVar23 != 0" (identifier "iVar23") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00262579;" (goto "goto") (statement_identifier "LAB_00262579") (; ";"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (if_statement "if (uVar19 * 2 < uVar26) {\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }" (if "if") (parenthesized_expression "(uVar19 * 2 < uVar26)" (( "(") (binary_expression "uVar19 * 2 < uVar26" (binary_expression "uVar19 * 2" (identifier "uVar19") (* "*") (number_literal "2")) (< "<") (identifier "uVar26")) () ")")) (compound_statement "{\n            RelinquishMagickMemory(__s);\n            if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }\n            pcVar47 = "CorruptImage";\n            uVar46 = 0x1a9;\n            uVar45 = 0x1ec;\n            goto LAB_0026218b;\n          }" ({ "{") (expression_statement "RelinquishMagickMemory(__s);" (call_expression "RelinquishMagickMemory(__s)" (identifier "RelinquishMagickMemory") (argument_list "(__s)" (( "(") (identifier "__s") () ")"))) (; ";")) (if_statement "if (uVar21 == 0) {\n              RelinquishMagickMemory(local_b0);\n            }" (if "if") (parenthesized_expression "(uVar21 == 0)" (( "(") (binary_expression "uVar21 == 0" (identifier "uVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              RelinquishMagickMemory(local_b0);\n            }" ({ "{") (expression_statement "RelinquishMagickMemory(local_b0);" (call_expression "RelinquishMagickMemory(local_b0)" (identifier "RelinquishMagickMemory") (argument_list "(local_b0)" (( "(") (identifier "local_b0") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar47 = "CorruptImage";" (assignment_expression "pcVar47 = "CorruptImage"" (identifier "pcVar47") (= "=") (string_literal ""CorruptImage"" (" """) (string_content "CorruptImage") (" """))) (; ";")) (expression_statement "uVar46 = 0x1a9;" (assignment_expression "uVar46 = 0x1a9" (identifier "uVar46") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar45 = 0x1ec;" (assignment_expression "uVar45 = 0x1ec" (identifier "uVar45") (= "=") (number_literal "0x1ec")) (; ";")) (goto_statement "goto LAB_0026218b;" (goto "goto") (statement_identifier "LAB_0026218b") (; ";")) (} "}"))) (if_statement "if (uVar26 == 0) {\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }\n          else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }" (if "if") (parenthesized_expression "(uVar26 == 0)" (( "(") (binary_expression "uVar26 == 0" (identifier "uVar26") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00262579:\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }" ({ "{") (labeled_statement "LAB_00262579:\n            iVar23 = puVar17[0xccf];" (statement_identifier "LAB_00262579") (: ":") (expression_statement "iVar23 = puVar17[0xccf];" (assignment_expression "iVar23 = puVar17[0xccf]" (identifier "iVar23") (= "=") (subscript_expression "puVar17[0xccf]" (identifier "puVar17") ([ "[") (number_literal "0xccf") (] "]"))) (; ";"))) (expression_statement "iVar27 = puVar17[7];" (assignment_expression "iVar27 = puVar17[7]" (identifier "iVar27") (= "=") (subscript_expression "puVar17[7]" (identifier "puVar17") ([ "[") (number_literal "7") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }" (else "else") (compound_statement "{\n            iVar27 = puVar17[0xaa];\n            iVar2 = puVar17[0xa6];\n            iVar3 = *(int *)(iVar27 + 0x14);\n            iVar4 = *(int *)(iVar27 + 8);\n            iVar5 = *(int *)(iVar27 + 0x20);\n            if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }\n            pdVar25 = (double *)(iVar23 + iVar4 * 8);\n            puVar36 = __s;\n            do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);\n            iVar23 = puVar17[0xccf];\n            iVar27 = puVar17[7];\n          }" ({ "{") (expression_statement "iVar27 = puVar17[0xaa];" (assignment_expression "iVar27 = puVar17[0xaa]" (identifier "iVar27") (= "=") (subscript_expression "puVar17[0xaa]" (identifier "puVar17") ([ "[") (number_literal "0xaa") (] "]"))) (; ";")) (expression_statement "iVar2 = puVar17[0xa6];" (assignment_expression "iVar2 = puVar17[0xa6]" (identifier "iVar2") (= "=") (subscript_expression "puVar17[0xa6]" (identifier "puVar17") ([ "[") (number_literal "0xa6") (] "]"))) (; ";")) (expression_statement "iVar3 = *(int *)(iVar27 + 0x14);" (assignment_expression "iVar3 = *(int *)(iVar27 + 0x14)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(iVar27 + 0x14)" (* "*") (cast_expression "(int *)(iVar27 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x14)" (( "(") (binary_expression "iVar27 + 0x14" (identifier "iVar27") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar4 = *(int *)(iVar27 + 8);" (assignment_expression "iVar4 = *(int *)(iVar27 + 8)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar27 + 8)" (* "*") (cast_expression "(int *)(iVar27 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 8)" (( "(") (binary_expression "iVar27 + 8" (identifier "iVar27") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar5 = *(int *)(iVar27 + 0x20);" (assignment_expression "iVar5 = *(int *)(iVar27 + 0x20)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(iVar27 + 0x20)" (* "*") (cast_expression "(int *)(iVar27 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x20)" (( "(") (binary_expression "iVar27 + 0x20" (identifier "iVar27") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if (*(int *)(iVar27 + 0x34) != 0) {\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }" (if "if") (parenthesized_expression "(*(int *)(iVar27 + 0x34) != 0)" (( "(") (binary_expression "*(int *)(iVar27 + 0x34) != 0" (pointer_expression "*(int *)(iVar27 + 0x34)" (* "*") (cast_expression "(int *)(iVar27 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x34)" (( "(") (binary_expression "iVar27 + 0x34" (identifier "iVar27") (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              iVar27 = *(int *)(iVar27 + 0x38);\n              puVar36 = __s;\n              do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);\n              goto LAB_00262579;\n            }" ({ "{") (expression_statement "iVar27 = *(int *)(iVar27 + 0x38);" (assignment_expression "iVar27 = *(int *)(iVar27 + 0x38)" (identifier "iVar27") (= "=") (pointer_expression "*(int *)(iVar27 + 0x38)" (* "*") (cast_expression "(int *)(iVar27 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x38)" (( "(") (binary_expression "iVar27 + 0x38" (identifier "iVar27") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "puVar36 = __s;" (assignment_expression "puVar36 = __s" (identifier "puVar36") (= "=") (identifier "__s")) (; ";")) (do_statement "do {\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              } while (puVar32 != __s + uVar26);" (do "do") (compound_statement "{\n                fVar11 = DAT_00306a38;\n                puVar32 = puVar36 + 1;\n                uVar16 = *puVar36 << 8;\n                uVar10 = *puVar36 >> 8;\n                *(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n                *(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n                *(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;\n                iVar23 = iVar23 + iVar2 * 8;\n                puVar36 = puVar32;\n              }" ({ "{") (expression_statement "fVar11 = DAT_00306a38;" (assignment_expression "fVar11 = DAT_00306a38" (identifier "fVar11") (= "=") (identifier "DAT_00306a38")) (; ";")) (expression_statement "puVar32 = puVar36 + 1;" (assignment_expression "puVar32 = puVar36 + 1" (identifier "puVar32") (= "=") (binary_expression "puVar36 + 1" (identifier "puVar36") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar16 = *puVar36 << 8;" (assignment_expression "uVar16 = *puVar36 << 8" (identifier "uVar16") (= "=") (binary_expression "*puVar36 << 8" (pointer_expression "*puVar36" (* "*") (identifier "puVar36")) (<< "<<") (number_literal "8"))) (; ";")) (expression_statement "uVar10 = *puVar36 >> 8;" (assignment_expression "uVar10 = *puVar36 >> 8" (identifier "uVar10") (= "=") (binary_expression "*puVar36 >> 8" (pointer_expression "*puVar36" (* "*") (identifier "puVar36")) (>> ">>") (number_literal "8"))) (; ";")) (expression_statement "*(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);" (assignment_expression "*(double *)(iVar23 + iVar4 * 8) =\n                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38)" (pointer_expression "*(double *)(iVar23 + iVar4 * 8)" (* "*") (cast_expression "(double *)(iVar23 + iVar4 * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + iVar4 * 8)" (( "(") (binary_expression "iVar23 + iVar4 * 8" (identifier "iVar23") (+ "+") (binary_expression "iVar4 * 8" (identifier "iVar4") (* "*") (number_literal "8"))) () ")")))) (= "=") (cast_expression "(double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38)" (( "(") (binary_expression "((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38" (parenthesized_expression "((float)(uVar16 >> 0xb) * fVar12)" (( "(") (binary_expression "(float)(uVar16 >> 0xb) * fVar12" (cast_expression "(float)(uVar16 >> 0xb)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "(uVar16 >> 0xb)" (( "(") (binary_expression "uVar16 >> 0xb" (identifier "uVar16") (>> ">>") (number_literal "0xb")) () ")"))) (* "*") (identifier "fVar12")) () ")")) (/ "/") (identifier "DAT_00306a38")) () ")")))) (; ";")) (expression_statement "*(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);" (assignment_expression "*(double *)(iVar23 + iVar3 * 8) =\n                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4)" (pointer_expression "*(double *)(iVar23 + iVar3 * 8)" (* "*") (cast_expression "(double *)(iVar23 + iVar3 * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + iVar3 * 8)" (( "(") (binary_expression "iVar23 + iVar3 * 8" (identifier "iVar23") (+ "+") (binary_expression "iVar3 * 8" (identifier "iVar3") (* "*") (number_literal "8"))) () ")")))) (= "=") (cast_expression "(double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4)" (( "(") (binary_expression "((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4" (parenthesized_expression "((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12)" (( "(") (binary_expression "(float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12" (cast_expression "(float)((uVar16 | uVar10) >> 5 & 0x3f)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((uVar16 | uVar10) >> 5 & 0x3f)" (( "(") (binary_expression "(uVar16 | uVar10) >> 5 & 0x3f" (binary_expression "(uVar16 | uVar10) >> 5" (parenthesized_expression "(uVar16 | uVar10)" (( "(") (binary_expression "uVar16 | uVar10" (identifier "uVar16") (| "|") (identifier "uVar10")) () ")")) (>> ">>") (number_literal "5")) (& "&") (number_literal "0x3f")) () ")"))) (* "*") (identifier "fVar12")) () ")")) (/ "/") (identifier "DAT_0030d3a4")) () ")")))) (; ";")) (expression_statement "*(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);" (assignment_expression "*(double *)(iVar23 + iVar5 * 8) =\n                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11)" (pointer_expression "*(double *)(iVar23 + iVar5 * 8)" (* "*") (cast_expression "(double *)(iVar23 + iVar5 * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + iVar5 * 8)" (( "(") (binary_expression "iVar23 + iVar5 * 8" (identifier "iVar23") (+ "+") (binary_expression "iVar5 * 8" (identifier "iVar5") (* "*") (number_literal "8"))) () ")")))) (= "=") (cast_expression "(double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "(((float)(uVar10 & 0x1f) * fVar12) / fVar11)" (( "(") (binary_expression "((float)(uVar10 & 0x1f) * fVar12) / fVar11" (parenthesized_expression "((float)(uVar10 & 0x1f) * fVar12)" (( "(") (binary_expression "(float)(uVar10 & 0x1f) * fVar12" (cast_expression "(float)(uVar10 & 0x1f)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "(uVar10 & 0x1f)" (( "(") (binary_expression "uVar10 & 0x1f" (identifier "uVar10") (& "&") (number_literal "0x1f")) () ")"))) (* "*") (identifier "fVar12")) () ")")) (/ "/") (identifier "fVar11")) () ")")))) (; ";")) (expression_statement "*(double *)(iVar23 + iVar27 * 8) = (double)fVar12;" (assignment_expression "*(double *)(iVar23 + iVar27 * 8) = (double)fVar12" (pointer_expression "*(double *)(iVar23 + iVar27 * 8)" (* "*") (cast_expression "(double *)(iVar23 + iVar27 * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + iVar27 * 8)" (( "(") (binary_expression "iVar23 + iVar27 * 8" (identifier "iVar23") (+ "+") (binary_expression "iVar27 * 8" (identifier "iVar27") (* "*") (number_literal "8"))) () ")")))) (= "=") (cast_expression "(double)fVar12" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar12"))) (; ";")) (expression_statement "iVar23 = iVar23 + iVar2 * 8;" (assignment_expression "iVar23 = iVar23 + iVar2 * 8" (identifier "iVar23") (= "=") (binary_expression "iVar23 + iVar2 * 8" (identifier "iVar23") (+ "+") (binary_expression "iVar2 * 8" (identifier "iVar2") (* "*") (number_literal "8")))) (; ";")) (expression_statement "puVar36 = puVar32;" (assignment_expression "puVar36 = puVar32" (identifier "puVar36") (= "=") (identifier "puVar32")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar32 != __s + uVar26)" (( "(") (binary_expression "puVar32 != __s + uVar26" (identifier "puVar32") (!= "!=") (binary_expression "__s + uVar26" (identifier "__s") (+ "+") (identifier "uVar26"))) () ")")) (; ";")) (goto_statement "goto LAB_00262579;" (goto "goto") (statement_identifier "LAB_00262579") (; ";")) (} "}"))) (expression_statement "pdVar25 = (double *)(iVar23 + iVar4 * 8);" (assignment_expression "pdVar25 = (double *)(iVar23 + iVar4 * 8)" (identifier "pdVar25") (= "=") (cast_expression "(double *)(iVar23 + iVar4 * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + iVar4 * 8)" (( "(") (binary_expression "iVar23 + iVar4 * 8" (identifier "iVar23") (+ "+") (binary_expression "iVar4 * 8" (identifier "iVar4") (* "*") (number_literal "8"))) () ")")))) (; ";")) (expression_statement "puVar36 = __s;" (assignment_expression "puVar36 = __s" (identifier "puVar36") (= "=") (identifier "__s")) (; ";")) (do_statement "do {\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            } while (__s + uVar26 != puVar32);" (do "do") (compound_statement "{\n              fVar11 = DAT_00306a38;\n              puVar32 = puVar36 + 1;\n              uVar16 = *puVar36 << 8;\n              uVar10 = *puVar36 >> 8;\n              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);\n              pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);\n              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);\n              pdVar25 = pdVar25 + iVar2;\n              puVar36 = puVar32;\n            }" ({ "{") (expression_statement "fVar11 = DAT_00306a38;" (assignment_expression "fVar11 = DAT_00306a38" (identifier "fVar11") (= "=") (identifier "DAT_00306a38")) (; ";")) (expression_statement "puVar32 = puVar36 + 1;" (assignment_expression "puVar32 = puVar36 + 1" (identifier "puVar32") (= "=") (binary_expression "puVar36 + 1" (identifier "puVar36") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar16 = *puVar36 << 8;" (assignment_expression "uVar16 = *puVar36 << 8" (identifier "uVar16") (= "=") (binary_expression "*puVar36 << 8" (pointer_expression "*puVar36" (* "*") (identifier "puVar36")) (<< "<<") (number_literal "8"))) (; ";")) (expression_statement "uVar10 = *puVar36 >> 8;" (assignment_expression "uVar10 = *puVar36 >> 8" (identifier "uVar10") (= "=") (binary_expression "*puVar36 >> 8" (pointer_expression "*puVar36" (* "*") (identifier "puVar36")) (>> ">>") (number_literal "8"))) (; ";")) (expression_statement "*pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);" (assignment_expression "*pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38)" (pointer_expression "*pdVar25" (* "*") (identifier "pdVar25")) (= "=") (cast_expression "(double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38)" (( "(") (binary_expression "((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38" (parenthesized_expression "((float)(uVar16 >> 0xb) * fVar12)" (( "(") (binary_expression "(float)(uVar16 >> 0xb) * fVar12" (cast_expression "(float)(uVar16 >> 0xb)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "(uVar16 >> 0xb)" (( "(") (binary_expression "uVar16 >> 0xb" (identifier "uVar16") (>> ">>") (number_literal "0xb")) () ")"))) (* "*") (identifier "fVar12")) () ")")) (/ "/") (identifier "DAT_00306a38")) () ")")))) (; ";")) (expression_statement "pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);" (assignment_expression "pdVar25[iVar3 - iVar4] =\n                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4)" (subscript_expression "pdVar25[iVar3 - iVar4]" (identifier "pdVar25") ([ "[") (binary_expression "iVar3 - iVar4" (identifier "iVar3") (- "-") (identifier "iVar4")) (] "]")) (= "=") (cast_expression "(double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4)" (( "(") (binary_expression "((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4" (parenthesized_expression "((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12)" (( "(") (binary_expression "(float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12" (cast_expression "(float)((uVar16 | uVar10) >> 5 & 0x3f)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((uVar16 | uVar10) >> 5 & 0x3f)" (( "(") (binary_expression "(uVar16 | uVar10) >> 5 & 0x3f" (binary_expression "(uVar16 | uVar10) >> 5" (parenthesized_expression "(uVar16 | uVar10)" (( "(") (binary_expression "uVar16 | uVar10" (identifier "uVar16") (| "|") (identifier "uVar10")) () ")")) (>> ">>") (number_literal "5")) (& "&") (number_literal "0x3f")) () ")"))) (* "*") (identifier "fVar12")) () ")")) (/ "/") (identifier "DAT_0030d3a4")) () ")")))) (; ";")) (expression_statement "pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);" (assignment_expression "pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11)" (subscript_expression "pdVar25[iVar5 - iVar4]" (identifier "pdVar25") ([ "[") (binary_expression "iVar5 - iVar4" (identifier "iVar5") (- "-") (identifier "iVar4")) (] "]")) (= "=") (cast_expression "(double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "(((float)(uVar10 & 0x1f) * fVar12) / fVar11)" (( "(") (binary_expression "((float)(uVar10 & 0x1f) * fVar12) / fVar11" (parenthesized_expression "((float)(uVar10 & 0x1f) * fVar12)" (( "(") (binary_expression "(float)(uVar10 & 0x1f) * fVar12" (cast_expression "(float)(uVar10 & 0x1f)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "(uVar10 & 0x1f)" (( "(") (binary_expression "uVar10 & 0x1f" (identifier "uVar10") (& "&") (number_literal "0x1f")) () ")"))) (* "*") (identifier "fVar12")) () ")")) (/ "/") (identifier "fVar11")) () ")")))) (; ";")) (expression_statement "pdVar25 = pdVar25 + iVar2;" (assignment_expression "pdVar25 = pdVar25 + iVar2" (identifier "pdVar25") (= "=") (binary_expression "pdVar25 + iVar2" (identifier "pdVar25") (+ "+") (identifier "iVar2"))) (; ";")) (expression_statement "puVar36 = puVar32;" (assignment_expression "puVar36 = puVar32" (identifier "puVar36") (= "=") (identifier "puVar32")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(__s + uVar26 != puVar32)" (( "(") (binary_expression "__s + uVar26 != puVar32" (binary_expression "__s + uVar26" (identifier "__s") (+ "+") (identifier "uVar26")) (!= "!=") (identifier "puVar32")) () ")")) (; ";")) (expression_statement "iVar23 = puVar17[0xccf];" (assignment_expression "iVar23 = puVar17[0xccf]" (identifier "iVar23") (= "=") (subscript_expression "puVar17[0xccf]" (identifier "puVar17") ([ "[") (number_literal "0xccf") (] "]"))) (; ";")) (expression_statement "iVar27 = puVar17[7];" (assignment_expression "iVar27 = puVar17[7]" (identifier "iVar27") (= "=") (subscript_expression "puVar17[7]" (identifier "puVar17") ([ "[") (number_literal "7") (] "]"))) (; ";")) (} "}")))) (if_statement "if (iVar23 == 0) {\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }" (if "if") (parenthesized_expression "(iVar23 == 0)" (( "(") (binary_expression "iVar23 == 0" (identifier "iVar23") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);\n            if (local_9c == 0) break;\n            iVar27 = puVar17[7];\n          }" ({ "{") (expression_statement "local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);" (assignment_expression "local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0)" (identifier "local_9c") (= "=") (call_expression "SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0)" (identifier "SetImageProgress") (argument_list "(puVar17,"Load/Image",local_ac,local_a8,iVar27,0)" (( "(") (identifier "puVar17") (, ",") (string_literal ""Load/Image"" (" """) (string_content "Load/Image") (" """)) (, ",") (identifier "local_ac") (, ",") (identifier "local_a8") (, ",") (identifier "iVar27") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (local_9c == 0) break;" (if "if") (parenthesized_expression "(local_9c == 0)" (( "(") (binary_expression "local_9c == 0" (identifier "local_9c") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar27 = puVar17[7];" (assignment_expression "iVar27 = puVar17[7]" (identifier "iVar27") (= "=") (subscript_expression "puVar17[7]" (identifier "puVar17") ([ "[") (number_literal "7") (] "]"))) (; ";")) (} "}"))) (expression_statement "local_c8 = local_c8 + 1;" (assignment_expression "local_c8 = local_c8 + 1" (identifier "local_c8") (= "=") (binary_expression "local_c8 + 1" (identifier "local_c8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar40 = 0xfffffffe < local_ac;" (assignment_expression "bVar40 = 0xfffffffe < local_ac" (identifier "bVar40") (= "=") (binary_expression "0xfffffffe < local_ac" (number_literal "0xfffffffe") (< "<") (identifier "local_ac"))) (; ";")) (expression_statement "local_ac = local_ac + 1;" (assignment_expression "local_ac = local_ac + 1" (identifier "local_ac") (= "=") (binary_expression "local_ac + 1" (identifier "local_ac") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_a8 = local_a8 + (uint)bVar40;" (assignment_expression "local_a8 = local_a8 + (uint)bVar40" (identifier "local_a8") (= "=") (binary_expression "local_a8 + (uint)bVar40" (identifier "local_a8") (+ "+") (cast_expression "(uint)bVar40" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar40")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_c8 < iVar27)" (( "(") (binary_expression "local_c8 < iVar27" (identifier "local_c8") (< "<") (identifier "iVar27")) () ")")) (; ";")) (} "}"))) (if_statement "if ((uVar14 & 0x2000) != 0) {\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }" (if "if") (parenthesized_expression "((uVar14 & 0x2000) != 0)" (( "(") (binary_expression "(uVar14 & 0x2000) != 0" (parenthesized_expression "(uVar14 & 0x2000)" (( "(") (binary_expression "uVar14 & 0x2000" (identifier "uVar14") (& "&") (number_literal "0x2000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar22 = iVar22 - iVar18;\n        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }\n        if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }\n        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);\n      }" ({ "{") (expression_statement "iVar22 = iVar22 - iVar18;" (assignment_expression "iVar22 = iVar22 - iVar18" (identifier "iVar22") (= "=") (binary_expression "iVar22 - iVar18" (identifier "iVar22") (- "-") (identifier "iVar18"))) (; ";")) (if_statement "if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }" (if "if") (parenthesized_expression "(((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9))" (( "(") (binary_expression "((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)" (parenthesized_expression "((iVar22 < 0) || ((int)puVar17[9] <= iVar22))" (( "(") (binary_expression "(iVar22 < 0) || ((int)puVar17[9] <= iVar22)" (parenthesized_expression "(iVar22 < 0)" (( "(") (binary_expression "iVar22 < 0" (identifier "iVar22") (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((int)puVar17[9] <= iVar22)" (( "(") (binary_expression "(int)puVar17[9] <= iVar22" (cast_expression "(int)puVar17[9]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar17[9]" (identifier "puVar17") ([ "[") (number_literal "9") (] "]"))) (<= "<=") (identifier "iVar22")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar22 = 0, *param_2 != 0x1a9)" (( "(") (comma_expression "iVar22 = 0, *param_2 != 0x1a9" (assignment_expression "iVar22 = 0" (identifier "iVar22") (= "=") (number_literal "0")) (, ",") (binary_expression "*param_2 != 0x1a9" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (!= "!=") (number_literal "0x1a9"))) () ")"))) () ")")) (compound_statement "{\n          ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);\n        }" ({ "{") (expression_statement "ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);" (call_expression "ThrowMagickException\n                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6)" (identifier "ThrowMagickException") (argument_list "(param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,\n                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6)" (( "(") (identifier "param_2") (, ",") (string_literal ""./MagickCore/colormap-private.h"" (" """) (string_content "./MagickCore/colormap-private.h") (" """)) (, ",") (string_literal ""ConstrainColormapIndex"" (" """) (string_content "ConstrainColormapIndex") (" """)) (, ",") (number_literal "0x23") (, ",") (number_literal "0x1a9") (, ",") (string_literal ""InvalidColormapIndex"" (" """) (string_content "InvalidColormapIndex") (" """)) (, ",") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """)) (, ",") (binary_expression "puVar17 + 0xc6" (identifier "puVar17") (+ "+") (number_literal "0xc6")) () ")"))) (; ";")) (} "}"))) (if_statement "if (uVar20 != 0x10) {\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }" (if "if") (parenthesized_expression "(uVar20 != 0x10)" (( "(") (binary_expression "uVar20 != 0x10" (identifier "uVar20") (!= "!=") (number_literal "0x10")) () ")")) (compound_statement "{\n          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);\n          puVar39 = local_a0;\n          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }\n        }" ({ "{") (expression_statement "puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);" (assignment_expression "puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10])" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)(iVar22 * 0x50 + puVar17[10])" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar22 * 0x50 + puVar17[10])" (( "(") (binary_expression "iVar22 * 0x50 + puVar17[10]" (binary_expression "iVar22 * 0x50" (identifier "iVar22") (* "*") (number_literal "0x50")) (+ "+") (subscript_expression "puVar17[10]" (identifier "puVar17") ([ "[") (number_literal "10") (] "]"))) () ")")))) (; ";")) (expression_statement "puVar39 = local_a0;" (assignment_expression "puVar39 = local_a0" (identifier "puVar39") (= "=") (identifier "local_a0")) (; ";")) (for_statement "for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }" (for "for") (( "(") (assignment_expression "iVar18 = 0x14" (identifier "iVar18") (= "=") (number_literal "0x14")) (; ";") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar18 = iVar18 + -1" (identifier "iVar18") (= "=") (binary_expression "iVar18 + -1" (identifier "iVar18") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n            *puVar39 = *puVar24;\n            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;\n            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;\n          }" ({ "{") (expression_statement "*puVar39 = *puVar24;" (assignment_expression "*puVar39 = *puVar24" (pointer_expression "*puVar39" (* "*") (identifier "puVar39")) (= "=") (pointer_expression "*puVar24" (* "*") (identifier "puVar24"))) (; ";")) (expression_statement "puVar24 = puVar24 + (uint)bVar41 * -2 + 1;" (assignment_expression "puVar24 = puVar24 + (uint)bVar41 * -2 + 1" (identifier "puVar24") (= "=") (binary_expression "puVar24 + (uint)bVar41 * -2 + 1" (binary_expression "puVar24 + (uint)bVar41 * -2" (identifier "puVar24") (+ "+") (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar41")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar39 = puVar39 + (uint)bVar41 * -2 + 1;" (assignment_expression "puVar39 = puVar39 + (uint)bVar41 * -2 + 1" (identifier "puVar39") (= "=") (binary_expression "puVar39 + (uint)bVar41 * -2 + 1" (binary_expression "puVar39 + (uint)bVar41 * -2" (identifier "puVar39") (+ "+") (binary_expression "(uint)bVar41 * -2" (cast_expression "(uint)bVar41" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar41")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);" (call_expression "TransparentPaintImage(puVar17,local_a0,0,0,0,param_2)" (identifier "TransparentPaintImage") (argument_list "(puVar17,local_a0,0,0,0,param_2)" (( "(") (identifier "puVar17") (, ",") (identifier "local_a0") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "param_2") () ")"))) (; ";")) (} "}"))) (expression_statement "RelinquishMagickMemory(__s);" (call_expression "RelinquishMagickMemory(__s)" (identifier "RelinquishMagickMemory") (argument_list "(__s)" (( "(") (identifier "__s") () ")"))) (; ";")) (if_statement "if (uVar21 == 0) {\n        RelinquishMagickMemory(local_b0);\n      }" (if "if") (parenthesized_expression "(uVar21 == 0)" (( "(") (binary_expression "uVar21 == 0" (identifier "uVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        RelinquishMagickMemory(local_b0);\n      }" ({ "{") (expression_statement "RelinquishMagickMemory(local_b0);" (call_expression "RelinquishMagickMemory(local_b0)" (identifier "RelinquishMagickMemory") (argument_list "(local_b0)" (( "(") (identifier "local_b0") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar18 = EOFBlob(puVar17);" (assignment_expression "iVar18 = EOFBlob(puVar17)" (identifier "iVar18") (= "=") (call_expression "EOFBlob(puVar17)" (identifier "EOFBlob") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (; ";")) (if_statement "if (iVar18 != 0) {\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }" (if "if") (parenthesized_expression "(iVar18 != 0)" (( "(") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        piVar30 = __errno_location();\n        uVar45 = GetExceptionMessage(*piVar30);\n        ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);\n        DestroyString(uVar45);\nLAB_0026266b:\n        CloseBlob(puVar17);\n        if (local_9c == 0) goto LAB_00262f23;\n        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);\n        goto LAB_002621b8;\n      }" ({ "{") (expression_statement "piVar30 = __errno_location();" (assignment_expression "piVar30 = __errno_location()" (identifier "piVar30") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar45 = GetExceptionMessage(*piVar30);" (assignment_expression "uVar45 = GetExceptionMessage(*piVar30)" (identifier "uVar45") (= "=") (call_expression "GetExceptionMessage(*piVar30)" (identifier "GetExceptionMessage") (argument_list "(*piVar30)" (( "(") (pointer_expression "*piVar30" (* "*") (identifier "piVar30")) () ")")))) (; ";")) (expression_statement "ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45);" (call_expression "ThrowMagickException\n                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45)" (identifier "ThrowMagickException") (argument_list "(param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",puVar17 + 0xc6,uVar45)" (( "(") (identifier "param_2") (, ",") (string_literal ""coders/palm.c"" (" """) (string_content "coders/palm.c") (" """)) (, ",") (string_literal ""ReadPALMImage"" (" """) (string_content "ReadPALMImage") (" """)) (, ",") (number_literal "0x22e") (, ",") (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 "puVar17 + 0xc6" (identifier "puVar17") (+ "+") (number_literal "0xc6")) (, ",") (identifier "uVar45") () ")"))) (; ";")) (expression_statement "DestroyString(uVar45);" (call_expression "DestroyString(uVar45)" (identifier "DestroyString") (argument_list "(uVar45)" (( "(") (identifier "uVar45") () ")"))) (; ";")) (labeled_statement "LAB_0026266b:\n        CloseBlob(puVar17);" (statement_identifier "LAB_0026266b") (: ":") (expression_statement "CloseBlob(puVar17);" (call_expression "CloseBlob(puVar17)" (identifier "CloseBlob") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")"))) (; ";"))) (if_statement "if (local_9c == 0) goto LAB_00262f23;" (if "if") (parenthesized_expression "(local_9c == 0)" (( "(") (binary_expression "local_9c == 0" (identifier "local_9c") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00262f23;" (goto "goto") (statement_identifier "LAB_00262f23") (; ";"))) (expression_statement "puVar24 = (undefined4 *)GetFirstImageInList(puVar17);" (assignment_expression "puVar24 = (undefined4 *)GetFirstImageInList(puVar17)" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)GetFirstImageInList(puVar17)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "GetFirstImageInList(puVar17)" (identifier "GetFirstImageInList") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")"))))) (; ";")) (goto_statement "goto LAB_002621b8;" (goto "goto") (statement_identifier "LAB_002621b8") (; ";")) (} "}"))) (if_statement "if (((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)) goto LAB_0026266b;" (if "if") (parenthesized_expression "(((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0))" (( "(") (binary_expression "((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||\n         (uVar15 == 0)" (parenthesized_expression "((*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91]))" (( "(") (binary_expression "(*(int *)(param_1 + 0x2c) != 0) &&\n          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])" (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)puVar17[0x91])" (( "(") (binary_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[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)puVar17[0x91]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "puVar17[0x91]" (identifier "puVar17") ([ "[") (number_literal "0x91") (] "]")))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(uVar15 == 0)" (( "(") (binary_expression "uVar15 == 0" (identifier "uVar15") (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_0026266b;" (goto "goto") (statement_identifier "LAB_0026266b") (; ";"))) (expression_statement "uVar19 = (uint)uVar15 * 4;" (assignment_expression "uVar19 = (uint)uVar15 * 4" (identifier "uVar19") (= "=") (binary_expression "(uint)uVar15 * 4" (cast_expression "(uint)uVar15" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar15")) (* "*") (number_literal "4"))) (; ";")) (expression_statement "bVar40 = CARRY4(local_94,uVar19);" (assignment_expression "bVar40 = CARRY4(local_94,uVar19)" (identifier "bVar40") (= "=") (call_expression "CARRY4(local_94,uVar19)" (identifier "CARRY4") (argument_list "(local_94,uVar19)" (( "(") (identifier "local_94") (, ",") (identifier "uVar19") () ")")))) (; ";")) (expression_statement "local_94 = local_94 + uVar19;" (assignment_expression "local_94 = local_94 + uVar19" (identifier "local_94") (= "=") (binary_expression "local_94 + uVar19" (identifier "local_94") (+ "+") (identifier "uVar19"))) (; ";")) (expression_statement "local_90 = local_90 + (uint)bVar40;" (assignment_expression "local_90 = local_90 + (uint)bVar40" (identifier "local_90") (= "=") (binary_expression "local_90 + (uint)bVar40" (identifier "local_90") (+ "+") (cast_expression "(uint)bVar40" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar40")))) (; ";")) (expression_statement "lVar44 = GetBlobSize(puVar17);" (assignment_expression "lVar44 = GetBlobSize(puVar17)" (identifier "lVar44") (= "=") (call_expression "GetBlobSize(puVar17)" (identifier "GetBlobSize") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (; ";")) (if_statement "if (lVar44 <= CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }" (if "if") (parenthesized_expression "(lVar44 <= CONCAT44(local_90,local_94))" (( "(") (binary_expression "lVar44 <= CONCAT44(local_90,local_94)" (identifier "lVar44") (<= "<=") (call_expression "CONCAT44(local_90,local_94)" (identifier "CONCAT44") (argument_list "(local_90,local_94)" (( "(") (identifier "local_90") (, ",") (identifier "local_94") () ")")))) () ")")) (compound_statement "{\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x23e;\n        goto LAB_0026218b;\n      }" ({ "{") (expression_statement "pcVar47 = "ImproperImageHeader";" (assignment_expression "pcVar47 = "ImproperImageHeader"" (identifier "pcVar47") (= "=") (string_literal ""ImproperImageHeader"" (" """) (string_content "ImproperImageHeader") (" """))) (; ";")) (expression_statement "uVar46 = 0x1a9;" (assignment_expression "uVar46 = 0x1a9" (identifier "uVar46") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar45 = 0x23e;" (assignment_expression "uVar45 = 0x23e" (identifier "uVar45") (= "=") (number_literal "0x23e")) (; ";")) (goto_statement "goto LAB_0026218b;" (goto "goto") (statement_identifier "LAB_0026218b") (; ";")) (} "}"))) (expression_statement "lVar44 = SeekBlob(puVar17,local_94,local_90,0);" (assignment_expression "lVar44 = SeekBlob(puVar17,local_94,local_90,0)" (identifier "lVar44") (= "=") (call_expression "SeekBlob(puVar17,local_94,local_90,0)" (identifier "SeekBlob") (argument_list "(puVar17,local_94,local_90,0)" (( "(") (identifier "puVar17") (, ",") (identifier "local_94") (, ",") (identifier "local_90") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (lVar44 != CONCAT44(local_90,local_94)) {\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }" (if "if") (parenthesized_expression "(lVar44 != CONCAT44(local_90,local_94))" (( "(") (binary_expression "lVar44 != CONCAT44(local_90,local_94)" (identifier "lVar44") (!= "!=") (call_expression "CONCAT44(local_90,local_94)" (identifier "CONCAT44") (argument_list "(local_90,local_94)" (( "(") (identifier "local_90") (, ",") (identifier "local_94") () ")")))) () ")")) (compound_statement "{\n        pcVar47 = "ImproperImageHeader";\n        uVar46 = 0x1a9;\n        uVar45 = 0x242;\n        goto LAB_0026218b;\n      }" ({ "{") (expression_statement "pcVar47 = "ImproperImageHeader";" (assignment_expression "pcVar47 = "ImproperImageHeader"" (identifier "pcVar47") (= "=") (string_literal ""ImproperImageHeader"" (" """) (string_content "ImproperImageHeader") (" """))) (; ";")) (expression_statement "uVar46 = 0x1a9;" (assignment_expression "uVar46 = 0x1a9" (identifier "uVar46") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar45 = 0x242;" (assignment_expression "uVar45 = 0x242" (identifier "uVar45") (= "=") (number_literal "0x242")) (; ";")) (goto_statement "goto LAB_0026218b;" (goto "goto") (statement_identifier "LAB_0026218b") (; ";")) (} "}"))) (expression_statement "AcquireNextImage(param_1,puVar17,param_2);" (call_expression "AcquireNextImage(param_1,puVar17,param_2)" (identifier "AcquireNextImage") (argument_list "(param_1,puVar17,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "puVar17") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "iVar18 = GetNextImageInList(puVar17);" (assignment_expression "iVar18 = GetNextImageInList(puVar17)" (identifier "iVar18") (= "=") (call_expression "GetNextImageInList(puVar17)" (identifier "GetNextImageInList") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (; ";")) (if_statement "if (iVar18 == 0) break;" (if "if") (parenthesized_expression "(iVar18 == 0)" (( "(") (binary_expression "iVar18 == 0" (identifier "iVar18") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "puVar17 = (undefined4 *)SyncNextImageInList(puVar17);" (assignment_expression "puVar17 = (undefined4 *)SyncNextImageInList(puVar17)" (identifier "puVar17") (= "=") (cast_expression "(undefined4 *)SyncNextImageInList(puVar17)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "SyncNextImageInList(puVar17)" (identifier "SyncNextImageInList") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")"))))) (; ";")) (expression_statement "uVar42 = GetBlobSize(puVar17);" (assignment_expression "uVar42 = GetBlobSize(puVar17)" (identifier "uVar42") (= "=") (call_expression "GetBlobSize(puVar17)" (identifier "GetBlobSize") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (; ";")) (expression_statement "uVar43 = TellBlob(puVar17);" (assignment_expression "uVar43 = TellBlob(puVar17)" (identifier "uVar43") (= "=") (call_expression "TellBlob(puVar17)" (identifier "TellBlob") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")")))) (; ";")) (expression_statement "iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42);" (assignment_expression "iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42)" (identifier "iVar18") (= "=") (call_expression "SetImageProgress(puVar17,"Load/Images",uVar43,uVar42)" (identifier "SetImageProgress") (argument_list "(puVar17,"Load/Images",uVar43,uVar42)" (( "(") (identifier "puVar17") (, ",") (string_literal ""Load/Images"" (" """) (string_content "Load/Images") (" """)) (, ",") (identifier "uVar43") (, ",") (identifier "uVar42") () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar18 != 0)" (( "(") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "CloseBlob(puVar17);" (call_expression "CloseBlob(puVar17)" (identifier "CloseBlob") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")"))) (; ";")) (labeled_statement "LAB_00262f23:\n    puVar24 = (undefined4 *)DestroyImageList(puVar17);" (statement_identifier "LAB_00262f23") (: ":") (expression_statement "puVar24 = (undefined4 *)DestroyImageList(puVar17);" (assignment_expression "puVar24 = (undefined4 *)DestroyImageList(puVar17)" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)DestroyImageList(puVar17)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "DestroyImageList(puVar17)" (identifier "DestroyImageList") (argument_list "(puVar17)" (( "(") (identifier "puVar17") () ")"))))) (; ";"))) (} "}")))) (labeled_statement "LAB_002621b8:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_002decd0();\n  }" (statement_identifier "LAB_002621b8") (: ":") (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_002decd0();\n  }" (if "if") (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (!= "!=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n                    \n    FUN_002decd0();\n  }" ({ "{") (expression_statement "FUN_002decd0();" (call_expression "FUN_002decd0()" (identifier "FUN_002decd0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (return_statement "return puVar24;" (return "return") (identifier "puVar24") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Removing unreachable block (ram,0x00262e8d) */
/* WARNING: Unknown calling convention */
/* 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 */

type_1 * function_1(type_2 *var_3,type_3 *var_7)

{
  double var_39;
  int var_92;
  type_4 *pPVar3;
  type_5 var_57;
  int var_68;
  type_5 var_59;
  type_5 var_60;
  type_6 *var_70;
  type_7 var_65;
  float var_27;
  float var_25;
  type_7 var_29;
  type_7 var_80;
  type_7 var_36;
  type_1 *image;
  type_8 var_10;
  int var_14;
  type_9 var_41;
  type_9 var_20;
  type_9 var_21;
  type_7 *var_43;
  int var_30;
  type_10 *var_56;
  type_1 *var_89;
  double *var_69;
  type_9 var_38;
  int var_37;
  int var_67;
  type_11 *__s_00;
  size_t sVar27;
  int *piVar28;
  int var_61;
  type_7 *var_66;
  int var_62;
  type_9 var_51;
  type_7 *var_52;
  type_12 *pPVar34;
  var_1 (*var_35) [3];
  var_1 (*var_32) [3];
  size_t var_47;
  type_9 var_49;
  type_12 *pPVar38;
  int var_2;
  bool bVar39;
  type_11 bVar40;
  type_13 var_86;
  type_14 MVar42;
  size_t var_63;
  type_15 severity;
  char *pcVar44;
  int var_33;
  int var_48;
  int var_50;
  void *var_45;
  type_9 var_73;
  int var_74;
  type_12 *local_a0;
  type_8 var_40;
  type_9 var_82;
  int var_83;
  type_12 transpix;
  
  bVar40 = 0;
  var_92 = *(int *)(var_2 + 0x14);
  if (var_3 == (type_2 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_4("image_info != (const ImageInfo *) NULL","coders/palm.c",0x124,"ReadPALMImage");
  }
  if (var_3->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    var_4("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,
                  "ReadPALMImage");
  }
  if (var_3->debug != var_5) {
    var_6(TraceEvent,"coders/palm.c","ReadPALMImage",0x127,"%s",var_3->filename);
  }
  if (var_7 == (type_3 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_4("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage");
  }
  if (var_7->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    var_4("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,
                  "ReadPALMImage");
  }
  image = var_8(var_3,var_7);
  var_10 = var_9(var_3,image,ReadBinaryBlobMode,var_7);
  var_82 = 0;
  var_83 = 0;
  if (var_10 == var_5) {
    var_89 = (type_1 *)0x0;
    var_11(image);
  }
  else {
    do {
      var_29 = var_12(image);
      image->columns = (type_9)var_29;
      var_29 = var_12(image);
      image->rows = (type_9)var_29;
      var_14 = var_13(image);
      if (var_14 != 0) {
        pcVar44 = "ImproperImageHeader";
        severity = var_31;
        var_63 = 0x138;
LAB_0026218b:
        var_15
                  (var_7,"coders/palm.c","ReadPALMImage",var_63,severity,pcVar44,"`%s\'",
                   var_3->filename);
        var_16(image);
        var_11(image);
        var_89 = (type_1 *)0x0;
        goto LAB_002621b8;
      }
      if ((image->columns == 0) || (image->rows == 0)) {
        pcVar44 = "NegativeOrZeroImageSize";
        severity = var_31;
        var_63 = 0x13a;
        goto LAB_0026218b;
      }
      var_10 = var_17(image,image->columns,image->rows,var_7);
      if (var_10 == var_5) goto LAB_00262f23;
      var_18(image,var_7);
      var_29 = var_12(image);
      var_41 = (type_9)var_29;
      var_29 = var_12(image);
      var_20 = var_19(image);
      if ((0x10 < var_20) || ((0x10116U >> (var_20 & 0x1f) & 1) == 0)) {
        pcVar44 = "UnsupportedBitsPerPixel";
        severity = var_31;
        var_63 = 0x145;
        goto LAB_0026218b;
      }
      var_21 = var_19(image);
      if (2 < var_21) {
        pcVar44 = "FileFormatVersionMismatch";
        severity = var_31;
        var_63 = 0x148;
        goto LAB_0026218b;
      }
      var_80 = var_12(image);
      var_14 = var_19(image);
      var_21 = var_19(image);
      if ((var_21 != 0xff) && (1 < var_21)) {
        pcVar44 = "UnrecognizedImageCompression";
        severity = var_31;
        var_63 = 0x14f;
        goto LAB_0026218b;
      }
      var_12(image);
      if (var_20 == 0x10) {
        var_22(image,&transpix);
        var_19(image);
        var_19(image);
        var_19(image);
        var_19(image);
        var_19(image);
        var_30 = var_19(image);
        var_27 = var_24;
        var_25 = var_23;
        transpix.red = (MagickRealType)((var_23 * (float)var_30) / var_24);
        var_30 = var_19(image);
        transpix.green = (MagickRealType)(((float)var_30 * var_25) / var_26);
        var_30 = var_19(image);
        transpix.blue = (MagickRealType)(((float)var_30 * var_25) / var_27);
        if ((short)var_29 < 0) goto LAB_00262c40;
        image->storage_class = DirectClass;
      }
      else {
        var_10 = var_28(image,1 << ((type_11)var_20 & 0x1f),var_7);
        if (var_10 == var_5) {
          pcVar44 = "MemoryAllocationFailed";
          severity = ErrorException;
          var_63 = 0x158;
          goto LAB_0026218b;
        }
        var_22(image,&transpix);
        if (var_20 == 8) {
          if ((var_29 & 0x4000) == 0) {
            var_30 = 0xff;
            var_32 = PalmPalette;
            do {
              if (var_30 < (int)image->colors) {
                var_33 = var_30 * 0x50;
              }
              else {
                var_33 = 0;
                if (var_7->severity != var_31) {
                  var_33 = 0;
                  var_15
                            (var_7,"./MagickCore/colormap-private.h","ConstrainColormapIndex",
                             0x23,var_31,"InvalidColormapIndex","`%s\'",image->filename);
                }
              }
              var_25 = var_34;
              pPVar34 = image->colormap;
              var_35 = var_32 + 1;
              var_30 = var_30 + -1;
              *(double *)((int)&pPVar34->red + var_33) =
                   (double)((float)(*var_32)[0] * var_34);
              *(double *)((int)&pPVar34->green + var_33) =
                   (double)((float)(*var_32)[1] * var_25);
              *(double *)((int)&pPVar34->blue + var_33) =
                   (double)((float)(*var_32)[2] * var_25);
              var_32 = var_35;
            } while (var_35 != (var_1 (*) [3])"Pango Markup Language");
          }
          else {
            var_36 = var_12(image);
            if (var_36 != 0) {
              var_30 = 0xff;
              do {
                var_19(image);
                if ((var_30 < 0) || ((int)image->colors <= var_30)) {
                  var_37 = 0;
                  if (var_7->severity != var_31) {
                    var_15
                              (var_7,"./MagickCore/colormap-private.h","ConstrainColormapIndex",
                               0x23,var_31,"InvalidColormapIndex","`%s\'",image->filename
                              );
                  }
                }
                else {
                  var_37 = var_30 * 0x50;
                }
                var_30 = var_30 + -1;
                var_38 = var_19(image);
                var_39 = (double)var_34;
                *(double *)((int)&image->colormap->red + var_37) =
                     (double)((float)(var_38 & 0xff) * var_34);
                var_38 = var_19(image);
                *(double *)((int)&image->colormap->green + var_37) = var_39 * (double)(var_38 & 0xff)
                ;
                var_38 = var_19(image);
                *(double *)((int)&image->colormap->blue + var_37) = var_39 * (double)(var_38 & 0xff);
              } while (0xff - (type_9)var_36 != var_30);
            }
          }
          if ((short)var_29 < 0) goto LAB_00262c40;
        }
        else {
          if ((short)var_29 < 0) {
LAB_00262c40:
            var_12(image);
          }
          image->storage_class = DirectClass;
          if (var_20 == 0x10) goto LAB_002622bf;
        }
        image->storage_class = PseudoClass;
        image->depth = 8;
      }
LAB_002622bf:
      local_a0 = &transpix;
      if (var_3->ping != var_5) {
        var_16(image);
        var_89 = image;
        goto LAB_002621b8;
      }
      var_40 = var_17(image,image->columns,image->rows,var_7);
      if (var_40 == var_5) goto LAB_00262f23;
      var_38 = image->columns * 2;
      if (var_38 < var_41) {
        var_38 = var_41;
      }
      var_43 = (type_7 *)var_42(var_38,1);
      if (var_43 == (type_7 *)0x0) {
        pcVar44 = "MemoryAllocationFailed";
        severity = ErrorException;
        var_63 = 0x19c;
        goto LAB_0026218b;
      }
      var_44(var_43,0,var_38);
      var_45 = (void *)0x0;
      if (var_21 == 0) {
        var_38 = image->columns * 2;
        if (var_38 < var_41) {
          var_38 = var_41;
        }
        var_45 = var_42(var_38,1);
        if (var_45 == (void *)0x0) {
          var_46(var_43);
          pcVar44 = "MemoryAllocationFailed";
          severity = ErrorException;
          var_63 = 0x1a6;
          goto LAB_0026218b;
        }
        var_38 = image->columns * 2;
        if (var_38 < var_41) {
          var_38 = var_41;
        }
        var_44(var_45,0,var_38);
      }
      var_30 = (1 << ((type_11)var_20 & 0x1f)) + -1;
      if (0 < (int)image->rows) {
        var_50 = 0;
        var_73 = 0;
        var_74 = 0;
        do {
          if ((short)var_29 < 0) {
            if (var_21 == 1) {
              image->compression = RLECompression;
              if (var_41 != 0) {
                var_37 = 0;
                do {
                  sVar27 = var_19(image);
                  if ((int)sVar27 < 0) break;
                  var_47 = var_41 - var_37;
                  if ((int)sVar27 < (int)(var_41 - var_37)) {
                    var_47 = sVar27;
                  }
                  var_67 = var_19(image);
                  __s_00 = (type_11 *)((int)var_43 + var_37);
                  var_37 = var_37 + var_47;
                  var_44(__s_00,var_67,var_47);
                } while (var_37 < (int)var_41);
              }
            }
            else if (var_21 == 0) {
              image->compression = FaxCompression;
              if (var_41 != 0) {
                var_48 = 0;
                var_52 = var_43;
                do {
                  var_38 = var_19(image);
                  if ((int)var_38 < 0) break;
                  var_49 = var_41 - var_48;
                  if ((int)var_49 < 8) {
                    if (var_49 != 0) goto LAB_002629c0;
                  }
                  else {
                    var_49 = 8;
LAB_002629c0:
                    var_51 = 0;
                    if (var_50 == 0) {
                      do {
                        var_37 = var_19(image);
                        *(type_11 *)((int)var_52 + var_51) = (type_11)var_37;
                        var_51 = var_51 + 1;
                      } while (var_51 < var_49);
                    }
                    else {
                      var_51 = 0;
                      do {
                        while ((var_38 & 1 << (7U - (char)var_51 & 0x1f)) != 0) {
                          var_37 = var_19(image);
                          *(type_11 *)((int)var_52 + var_51) = (type_11)var_37;
                          var_51 = var_51 + 1;
                          if (var_49 <= var_51) goto LAB_00262a23;
                        }
                        *(type_11 *)((int)var_52 + var_51) =
                             *(type_11 *)((int)var_45 + var_51 + var_48);
                        var_51 = var_51 + 1;
                      } while (var_51 < var_49);
                    }
                  }
LAB_00262a23:
                  var_48 = var_48 + 8;
                  var_52 = var_52 + 4;
                } while (var_48 != (var_41 - 1 & 0xfffffff8) + 8);
              }
              var_53(var_45,var_43,var_41);
            }
          }
          else {
            image->compression = NoCompression;
            var_38 = var_54(image,var_41,var_43);
            if (var_38 != var_41) break;
          }
          var_56 = var_55(image,0,var_50,image->columns,1,var_7);
          var_25 = var_23;
          if (var_56 == (type_10 *)0x0) break;
          var_38 = image->columns;
          if (var_20 != 0x10) {
            if (0 < (int)var_38) {
              if (var_41 == 0) {
LAB_002628e2:
                var_46(var_43);
                if (var_21 == 0) {
                  var_46(var_45);
                }
                pcVar44 = "CorruptImage";
                severity = var_31;
                var_63 = 0x206;
                goto LAB_0026218b;
              }
              var_62 = 0;
              pPVar3 = image->channel_map;
              var_57 = pPVar3[5].traits;
              pPVar34 = image->colormap;
              var_63 = image->number_channels;
              var_37 = pPVar3->offset;
              var_67 = pPVar3[1].offset;
              var_68 = pPVar3[2].offset;
              var_59 = pPVar3[3].traits;
              var_60 = pPVar3[4].traits;
              var_61 = 8 - var_20;
              var_52 = var_43;
              while( true ) {
                var_49 = var_30 - (((type_9)(type_11)*var_52 & var_30 << ((type_11)var_61 & 0x1f)) >>
                                  ((type_11)var_61 & 0x1f));
                if (var_57 != var_58) {
                  var_56[pPVar3[5].offset] = (double)var_49;
                }
                var_56[var_37] = pPVar34[var_49].red;
                var_56[var_67] = pPVar34[var_49].green;
                var_56[var_68] = pPVar34[var_49].blue;
                if (var_59 != var_58) {
                  var_56[pPVar3[3].offset] = pPVar34[var_49].black;
                }
                if (var_60 != var_58) {
                  var_27 = var_25;
                  if (pPVar34[var_49].alpha_trait != var_58) {
                    var_27 = (float)pPVar34[var_49].alpha;
                  }
                  var_56[pPVar3[4].offset] = (double)var_27;
                }
                if (var_61 == 0) {
                  var_52 = (type_7 *)((int)var_52 + 1);
                  var_61 = 8 - var_20;
                }
                else {
                  var_61 = var_61 - var_20;
                }
                if (var_38 == var_62 + 1U) break;
                var_62 = var_62 + 1;
                var_56 = var_56 + var_63;
                if (var_41 <= (type_9)((int)var_52 - (int)var_43)) goto LAB_002628e2;
              }
            }
            var_10 = var_64(image,var_7);
            if (var_10 != var_5) goto LAB_00262579;
            break;
          }
          if (var_41 * 2 < var_38) {
            var_46(var_43);
            if (var_21 == 0) {
              var_46(var_45);
            }
            pcVar44 = "CorruptImage";
            severity = var_31;
            var_63 = 0x1ec;
            goto LAB_0026218b;
          }
          if (var_38 == 0) {
LAB_00262579:
            var_70 = image->previous;
            var_38 = image->rows;
          }
          else {
            pPVar3 = image->channel_map;
            var_63 = image->number_channels;
            var_37 = pPVar3[1].offset;
            var_67 = pPVar3->offset;
            var_68 = pPVar3[2].offset;
            if (pPVar3[4].traits != var_58) {
              var_61 = pPVar3[4].offset;
              var_52 = var_43;
              do {
                var_27 = var_24;
                var_66 = var_52 + 1;
                var_36 = *var_52 << 8;
                var_65 = *var_52 >> 8;
                var_56[var_67] = (double)(((float)(var_36 >> 0xb) * var_25) / var_24);
                var_56[var_37] =
                     (double)(((float)((var_36 | var_65) >> 5 & 0x3f) * var_25) / var_26);
                var_56[var_68] = (double)(((float)(var_65 & 0x1f) * var_25) / var_27);
                var_56[var_61] = (double)var_25;
                var_56 = var_56 + var_63;
                var_52 = var_66;
              } while (var_66 != var_43 + var_38);
              goto LAB_00262579;
            }
            var_69 = var_56 + var_67;
            var_52 = var_43;
            do {
              var_27 = var_24;
              var_66 = var_52 + 1;
              var_36 = *var_52 << 8;
              var_65 = *var_52 >> 8;
              *var_69 = (double)(((float)(var_36 >> 0xb) * var_25) / var_24);
              var_69[var_37 - var_67] =
                   (double)(((float)((var_36 | var_65) >> 5 & 0x3f) * var_25) / var_26);
              var_69[var_68 - var_67] = (double)(((float)(var_65 & 0x1f) * var_25) / var_27);
              var_69 = var_69 + var_63;
              var_52 = var_66;
            } while (var_43 + var_38 != var_66);
            var_70 = image->previous;
            var_38 = image->rows;
          }
          if (var_70 == (type_6 *)0x0) {
            var_40 = var_71(image,"Load/Image",var_72(var_74,var_73),
                                        (type_16)var_38);
            if (var_40 == var_5) break;
            var_38 = image->rows;
          }
          var_50 = var_50 + 1;
          bVar39 = 0xfffffffe < var_73;
          var_73 = var_73 + 1;
          var_74 = var_74 + (type_9)bVar39;
        } while (var_50 < (int)var_38);
      }
      if ((var_29 & 0x2000) != 0) {
        var_30 = var_30 - var_14;
        if (((var_30 < 0) || ((int)image->colors <= var_30)) &&
           (var_30 = 0, var_7->severity != var_31)) {
          var_15
                    (var_7,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,
                     var_31,"InvalidColormapIndex","`%s\'",image->filename);
        }
        if (var_20 != 0x10) {
          pPVar34 = image->colormap + var_30;
          pPVar38 = local_a0;
          for (var_14 = 0x14; var_14 != 0; var_14 = var_14 + -1) {
            pPVar38->storage_class = pPVar34->storage_class;
            pPVar34 = (type_12 *)((int)pPVar34 + (type_9)bVar40 * -8 + 4);
            pPVar38 = (type_12 *)((int)pPVar38 + (type_9)bVar40 * -8 + 4);
          }
        }
        var_75(image,local_a0,0.0,var_5,var_7);
      }
      var_46(var_43);
      if (var_21 == 0) {
        var_46(var_45);
      }
      var_14 = var_13(image);
      if (var_14 != 0) {
        piVar28 = var_76();
        pcVar44 = var_77(*piVar28);
        var_15
                  (var_7,"coders/palm.c","ReadPALMImage",0x22e,var_31,
                   "UnexpectedEndOfFile","\'%s\': %s");
        var_78(pcVar44);
LAB_0026266b:
        var_16(image);
        if (var_40 == var_5) goto LAB_00262f23;
        var_89 = var_79(image);
        goto LAB_002621b8;
      }
      if (((var_3->number_scenes != 0) &&
          ((var_3->number_scenes + var_3->scene) - 1 <= image->scene)) || (var_80 == 0))
      goto LAB_0026266b;
      var_41 = (type_9)var_80 * 4;
      bVar39 = var_81(var_82,var_41);
      var_82 = var_82 + var_41;
      var_83 = var_83 + (type_9)bVar39;
      MVar42 = var_84(image);
      if ((type_17)MVar42 <= var_72(var_83,var_82)) {
        pcVar44 = "ImproperImageHeader";
        severity = var_31;
        var_63 = 0x23e;
        goto LAB_0026218b;
      }
      var_86 = var_85(image,var_72(var_83,var_82),0);
      if (var_86 != var_72(var_83,var_82)) {
        pcVar44 = "ImproperImageHeader";
        severity = var_31;
        var_63 = 0x242;
        goto LAB_0026218b;
      }
      var_87(var_3,image,var_7);
      var_89 = var_88(image);
      if (var_89 == (type_1 *)0x0) break;
      image = var_90(image);
      MVar42 = var_84(image);
      var_86 = var_91(image);
      var_10 = var_71(image,"Load/Images",var_86,MVar42);
    } while (var_10 != var_5);
    var_16(image);
LAB_00262f23:
    var_89 = var_11(image);
  }
LAB_002621b8:
  if (var_92 == *(int *)(var_2 + 0x14)) {
    return var_89;
  }
                    /* WARNING: Subroutine does not return */
  var_93();
}


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

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

undefined4 * MASKED(int param_1,int *param_2)

{
  double dVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  ushort uVar10;
  float fVar11;
  float fVar12;
  byte bVar13;
  ushort uVar14;
  ushort uVar15;
  ushort uVar16;
  undefined4 *puVar17;
  int iVar18;
  uint uVar19;
  uint uVar20;
  uint uVar21;
  int iVar22;
  ushort *__s;
  int iVar23;
  undefined4 *puVar24;
  double *pdVar25;
  uint uVar26;
  int iVar27;
  byte *pbVar28;
  size_t sVar29;
  int *piVar30;
  int iVar31;
  ushort *puVar32;
  int iVar33;
  int iVar34;
  uint uVar35;
  ushort *puVar36;
  byte *pbVar37;
  size_t __n;
  uint uVar38;
  undefined4 *puVar39;
  int in_GS_OFFSET;
  bool bVar40;
  byte bVar41;
  undefined8 uVar42;
  undefined8 uVar43;
  longlong lVar44;
  undefined4 uVar45;
  undefined4 uVar46;
  char *pcVar47;
  int local_10c;
  int local_f4;
  int local_c8;
  void *local_b0;
  uint local_ac;
  int local_a8;
  undefined4 *local_a0;
  int local_9c;
  uint local_94;
  int local_90;
  undefined4 local_70 [8];
  double local_50;
  double local_48;
  double local_40;
  int local_20;
  undefined4 uStack_14;
  
  bVar41 = 0;
  uStack_14 = 0x262019;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info != (const ImageInfo *) NULL","coders/palm.c",0x124,"ReadPALMImage");
  }
  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info->signature == MagickCoreSignature","coders/palm.c",0x125,
                  "ReadPALMImage");
  }
  if (*(int *)(param_1 + 0x31f0) != 0) {
    LogMagickEvent(0x8000,"coders/palm.c","ReadPALMImage",0x127,&DAT_002f75ae,param_1 + 0x21f0);
  }
  if (param_2 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception != (ExceptionInfo *) NULL","coders/palm.c",0x129,"ReadPALMImage");
  }
  if (param_2[7] != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception->signature == MagickCoreSignature","coders/palm.c",0x12a,
                  "ReadPALMImage");
  }
  puVar17 = (undefined4 *)AcquireImage(param_1,param_2);
  iVar18 = OpenBlob(param_1,puVar17,2,param_2);
  local_94 = 0;
  local_90 = 0;
  if (iVar18 == 0) {
    puVar24 = (undefined4 *)0x0;
    DestroyImageList(puVar17);
  }
  else {
    do {
      uVar19 = ReadBlobMSBShort(puVar17);
      puVar17[6] = uVar19 & 0xffff;
      uVar19 = ReadBlobMSBShort(puVar17);
      puVar17[7] = uVar19 & 0xffff;
      iVar18 = EOFBlob(puVar17);
      if (iVar18 != 0) {
        pcVar47 = "ImproperImageHeader";
        uVar46 = 0x1a9;
        uVar45 = 0x138;
LAB_0026218b:
        ThrowMagickException
                  (param_2,"coders/palm.c","ReadPALMImage",uVar45,uVar46,pcVar47,"`%s\'",
                   param_1 + 0x21f0);
        CloseBlob(puVar17);
        DestroyImageList(puVar17);
        puVar24 = (undefined4 *)0x0;
        goto LAB_002621b8;
      }
      if ((puVar17[6] == 0) || (puVar17[7] == 0)) {
        pcVar47 = "NegativeOrZeroImageSize";
        uVar46 = 0x1a9;
        uVar45 = 0x13a;
        goto LAB_0026218b;
      }
      iVar18 = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);
      if (iVar18 == 0) goto LAB_00262f23;
      SetImageBackgroundColor(puVar17,param_2);
      uVar19 = ReadBlobMSBShort(puVar17);
      uVar19 = uVar19 & 0xffff;
      uVar14 = ReadBlobMSBShort(puVar17);
      uVar20 = ReadBlobByte(puVar17);
      if ((0x10 < uVar20) || ((0x10116U >> (uVar20 & 0x1f) & 1) == 0)) {
        pcVar47 = "UnsupportedBitsPerPixel";
        uVar46 = 0x1a9;
        uVar45 = 0x145;
        goto LAB_0026218b;
      }
      uVar21 = ReadBlobByte(puVar17);
      if (2 < uVar21) {
        pcVar47 = "FileFormatVersionMismatch";
        uVar46 = 0x1a9;
        uVar45 = 0x148;
        goto LAB_0026218b;
      }
      uVar15 = ReadBlobMSBShort(puVar17);
      iVar18 = ReadBlobByte(puVar17);
      uVar21 = ReadBlobByte(puVar17);
      if ((uVar21 != 0xff) && (1 < uVar21)) {
        pcVar47 = "UnrecognizedImageCompression";
        uVar46 = 0x1a9;
        uVar45 = 0x14f;
        goto LAB_0026218b;
      }
      ReadBlobMSBShort(puVar17);
      if (uVar20 == 0x10) {
        GetPixelInfo(puVar17,local_70);
        ReadBlobByte(puVar17);
        ReadBlobByte(puVar17);
        ReadBlobByte(puVar17);
        ReadBlobByte(puVar17);
        ReadBlobByte(puVar17);
        iVar22 = ReadBlobByte(puVar17);
        fVar11 = DAT_00306a38;
        fVar12 = DAT_002df8a8;
        local_50 = (double)((DAT_002df8a8 * (float)iVar22) / DAT_00306a38);
        iVar22 = ReadBlobByte(puVar17);
        local_48 = (double)(((float)iVar22 * fVar12) / DAT_0030d3a4);
        iVar22 = ReadBlobByte(puVar17);
        local_40 = (double)(((float)iVar22 * fVar12) / fVar11);
        if ((short)uVar14 < 0) goto LAB_00262c40;
        *puVar17 = 1;
      }
      else {
        iVar22 = AcquireImageColormap(puVar17,1 << ((byte)uVar20 & 0x1f),param_2);
        if (iVar22 == 0) {
          pcVar47 = "MemoryAllocationFailed";
          uVar46 = 400;
          uVar45 = 0x158;
          goto LAB_0026218b;
        }
        GetPixelInfo(puVar17,local_70);
        if (uVar20 == 8) {
          if ((uVar14 & 0x4000) == 0) {
            iVar22 = 0xff;
            pbVar28 = &DAT_00344940;
            do {
              if (iVar22 < (int)puVar17[9]) {
                local_10c = iVar22 * 0x50;
              }
              else {
                local_10c = 0;
                if (*param_2 != 0x1a9) {
                  local_10c = 0;
                  ThrowMagickException
                            (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23
                             ,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);
                }
              }
              fVar12 = DAT_002e814c;
              pbVar37 = pbVar28 + 3;
              iVar22 = iVar22 + -1;
              local_10c = puVar17[10] + local_10c;
              *(double *)(local_10c + 0x20) = (double)((float)*pbVar28 * DAT_002e814c);
              *(double *)(local_10c + 0x28) = (double)((float)pbVar28[1] * fVar12);
              *(double *)(local_10c + 0x30) = (double)((float)pbVar28[2] * fVar12);
              pbVar28 = pbVar37;
            } while (pbVar37 != (byte *)"Pango Markup Language");
          }
          else {
            uVar16 = ReadBlobMSBShort(puVar17);
            if (uVar16 != 0) {
              iVar22 = 0xff;
              do {
                ReadBlobByte(puVar17);
                if ((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) {
                  iVar23 = 0;
                  if (*param_2 != 0x1a9) {
                    ThrowMagickException
                              (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",
                               0x23,0x1a9,"InvalidColormapIndex","`%s\'",puVar17 + 0xc6);
                  }
                }
                else {
                  iVar23 = iVar22 * 0x50;
                }
                iVar22 = iVar22 + -1;
                bVar13 = ReadBlobByte(puVar17);
                dVar1 = (double)DAT_002e814c;
                *(double *)(puVar17[10] + 0x20 + iVar23) = (double)((float)bVar13 * DAT_002e814c);
                bVar13 = ReadBlobByte(puVar17);
                *(double *)(puVar17[10] + 0x28 + iVar23) = dVar1 * (double)bVar13;
                bVar13 = ReadBlobByte(puVar17);
                *(double *)(puVar17[10] + 0x30 + iVar23) = dVar1 * (double)bVar13;
              } while (0xff - (uint)uVar16 != iVar22);
            }
          }
          if ((short)uVar14 < 0) goto LAB_00262c40;
        }
        else {
          if ((short)uVar14 < 0) {
LAB_00262c40:
            ReadBlobMSBShort(puVar17);
          }
          *puVar17 = 1;
          if (uVar20 == 0x10) goto LAB_002622bf;
        }
        *puVar17 = 2;
        puVar17[8] = 8;
      }
LAB_002622bf:
      local_a0 = local_70;
      if (*(int *)(param_1 + 0x1bc) != 0) {
        CloseBlob(puVar17);
        puVar24 = puVar17;
        goto LAB_002621b8;
      }
      local_9c = SetImageExtent(puVar17,puVar17[6],puVar17[7],param_2);
      if (local_9c == 0) goto LAB_00262f23;
      uVar26 = puVar17[6] * 2;
      if ((uint)(puVar17[6] * 2) < uVar19) {
        uVar26 = uVar19;
      }
      __s = (ushort *)AcquireQuantumMemory(uVar26,1);
      if (__s == (ushort *)0x0) {
        pcVar47 = "MemoryAllocationFailed";
        uVar46 = 400;
        uVar45 = 0x19c;
        goto LAB_0026218b;
      }
      memset(__s,0,uVar26);
      local_b0 = (void *)0x0;
      if (uVar21 == 0) {
        uVar26 = puVar17[6] * 2;
        if ((uint)(puVar17[6] * 2) < uVar19) {
          uVar26 = uVar19;
        }
        local_b0 = (void *)AcquireQuantumMemory(uVar26,1);
        if (local_b0 == (void *)0x0) {
          RelinquishMagickMemory(__s);
          pcVar47 = "MemoryAllocationFailed";
          uVar46 = 400;
          uVar45 = 0x1a6;
          goto LAB_0026218b;
        }
        uVar26 = puVar17[6] * 2;
        if ((uint)(puVar17[6] * 2) < uVar19) {
          uVar26 = uVar19;
        }
        memset(local_b0,0,uVar26);
      }
      iVar22 = (1 << ((byte)uVar20 & 0x1f)) + -1;
      if (0 < (int)puVar17[7]) {
        local_c8 = 0;
        local_ac = 0;
        local_a8 = 0;
        do {
          if ((short)uVar14 < 0) {
            if (uVar21 == 1) {
              puVar17[2] = 0x13;
              if (uVar19 != 0) {
                iVar23 = 0;
                do {
                  sVar29 = ReadBlobByte(puVar17);
                  if ((int)sVar29 < 0) break;
                  __n = uVar19 - iVar23;
                  if ((int)sVar29 < (int)(uVar19 - iVar23)) {
                    __n = sVar29;
                  }
                  iVar27 = ReadBlobByte(puVar17);
                  pbVar28 = (byte *)((int)__s + iVar23);
                  iVar23 = iVar23 + __n;
                  memset(pbVar28,iVar27,__n);
                } while (iVar23 < (int)uVar19);
              }
            }
            else if (uVar21 == 0) {
              puVar17[2] = 7;
              if (uVar19 != 0) {
                local_f4 = 0;
                puVar36 = __s;
                do {
                  uVar26 = ReadBlobByte(puVar17);
                  if ((int)uVar26 < 0) break;
                  uVar38 = uVar19 - local_f4;
                  if ((int)uVar38 < 8) {
                    if (uVar38 != 0) goto LAB_002629c0;
                  }
                  else {
                    uVar38 = 8;
LAB_002629c0:
                    uVar35 = 0;
                    if (local_c8 == 0) {
                      do {
                        bVar13 = ReadBlobByte(puVar17);
                        *(byte *)((int)puVar36 + uVar35) = bVar13;
                        uVar35 = uVar35 + 1;
                      } while (uVar35 < uVar38);
                    }
                    else {
                      uVar35 = 0;
                      do {
                        while ((uVar26 & 1 << (7U - (char)uVar35 & 0x1f)) == 0) {
                          *(byte *)((int)puVar36 + uVar35) =
                               *(byte *)((int)local_b0 + uVar35 + local_f4);
                          uVar35 = uVar35 + 1;
                          if (uVar38 <= uVar35) goto LAB_00262a23;
                        }
                        bVar13 = ReadBlobByte(puVar17);
                        *(byte *)((int)puVar36 + uVar35) = bVar13;
                        uVar35 = uVar35 + 1;
                      } while (uVar35 < uVar38);
                    }
                  }
LAB_00262a23:
                  local_f4 = local_f4 + 8;
                  puVar36 = puVar36 + 4;
                } while (local_f4 != (uVar19 - 1 & 0xfffffff8) + 8);
              }
              memcpy(local_b0,__s,uVar19);
            }
          }
          else {
            puVar17[2] = 0x10;
            uVar26 = ReadBlob(puVar17,uVar19,__s);
            if (uVar26 != uVar19) break;
          }
          iVar23 = QueueAuthenticPixels(puVar17,0,local_c8,puVar17[6],1,param_2);
          fVar12 = DAT_002df8a8;
          if (iVar23 == 0) break;
          uVar26 = puVar17[6];
          if (uVar20 != 0x10) {
            if (0 < (int)uVar26) {
              if (uVar19 == 0) {
LAB_002628e2:
                RelinquishMagickMemory(__s);
                if (uVar21 == 0) {
                  RelinquishMagickMemory(local_b0);
                }
                pcVar47 = "CorruptImage";
                uVar46 = 0x1a9;
                uVar45 = 0x206;
                goto LAB_0026218b;
              }
              iVar34 = 0;
              iVar27 = puVar17[0xaa];
              iVar2 = *(int *)(iVar27 + 0x40);
              iVar3 = puVar17[10];
              iVar4 = puVar17[0xa6];
              iVar5 = *(int *)(iVar27 + 8);
              iVar6 = *(int *)(iVar27 + 0x14);
              iVar7 = *(int *)(iVar27 + 0x20);
              iVar8 = *(int *)(iVar27 + 0x28);
              iVar9 = *(int *)(iVar27 + 0x34);
              iVar31 = 8 - uVar20;
              puVar36 = __s;
              while( true ) {
                uVar38 = iVar22 - (((uint)(byte)*puVar36 & iVar22 << ((byte)iVar31 & 0x1f)) >>
                                  ((byte)iVar31 & 0x1f));
                if (iVar2 != 0) {
                  *(double *)(iVar23 + *(int *)(iVar27 + 0x44) * 8) = (double)uVar38;
                }
                iVar33 = uVar38 * 0x50 + iVar3;
                *(undefined8 *)(iVar23 + iVar5 * 8) = *(undefined8 *)(iVar33 + 0x20);
                *(undefined8 *)(iVar23 + iVar6 * 8) = *(undefined8 *)(iVar33 + 0x28);
                *(undefined8 *)(iVar23 + iVar7 * 8) = *(undefined8 *)(iVar33 + 0x30);
                if (iVar8 != 0) {
                  *(undefined8 *)(iVar23 + *(int *)(iVar27 + 0x2c) * 8) =
                       *(undefined8 *)(iVar33 + 0x38);
                }
                if (iVar9 != 0) {
                  fVar11 = fVar12;
                  if (*(int *)(iVar33 + 8) != 0) {
                    fVar11 = (float)*(double *)(iVar33 + 0x40);
                  }
                  *(double *)(iVar23 + *(int *)(iVar27 + 0x38) * 8) = (double)fVar11;
                }
                if (iVar31 == 0) {
                  puVar36 = (ushort *)((int)puVar36 + 1);
                  iVar31 = 8 - uVar20;
                }
                else {
                  iVar31 = iVar31 - uVar20;
                }
                if (uVar26 == iVar34 + 1U) break;
                iVar34 = iVar34 + 1;
                iVar23 = iVar23 + iVar4 * 8;
                if (uVar19 <= (uint)((int)puVar36 - (int)__s)) goto LAB_002628e2;
              }
            }
            iVar23 = SyncAuthenticPixels(puVar17,param_2);
            if (iVar23 != 0) goto LAB_00262579;
            break;
          }
          if (uVar19 * 2 < uVar26) {
            RelinquishMagickMemory(__s);
            if (uVar21 == 0) {
              RelinquishMagickMemory(local_b0);
            }
            pcVar47 = "CorruptImage";
            uVar46 = 0x1a9;
            uVar45 = 0x1ec;
            goto LAB_0026218b;
          }
          if (uVar26 == 0) {
LAB_00262579:
            iVar23 = puVar17[0xccf];
            iVar27 = puVar17[7];
          }
          else {
            iVar27 = puVar17[0xaa];
            iVar2 = puVar17[0xa6];
            iVar3 = *(int *)(iVar27 + 0x14);
            iVar4 = *(int *)(iVar27 + 8);
            iVar5 = *(int *)(iVar27 + 0x20);
            if (*(int *)(iVar27 + 0x34) != 0) {
              iVar27 = *(int *)(iVar27 + 0x38);
              puVar36 = __s;
              do {
                fVar11 = DAT_00306a38;
                puVar32 = puVar36 + 1;
                uVar16 = *puVar36 << 8;
                uVar10 = *puVar36 >> 8;
                *(double *)(iVar23 + iVar4 * 8) =
                     (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);
                *(double *)(iVar23 + iVar3 * 8) =
                     (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);
                *(double *)(iVar23 + iVar5 * 8) =
                     (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);
                *(double *)(iVar23 + iVar27 * 8) = (double)fVar12;
                iVar23 = iVar23 + iVar2 * 8;
                puVar36 = puVar32;
              } while (puVar32 != __s + uVar26);
              goto LAB_00262579;
            }
            pdVar25 = (double *)(iVar23 + iVar4 * 8);
            puVar36 = __s;
            do {
              fVar11 = DAT_00306a38;
              puVar32 = puVar36 + 1;
              uVar16 = *puVar36 << 8;
              uVar10 = *puVar36 >> 8;
              *pdVar25 = (double)(((float)(uVar16 >> 0xb) * fVar12) / DAT_00306a38);
              pdVar25[iVar3 - iVar4] =
                   (double)(((float)((uVar16 | uVar10) >> 5 & 0x3f) * fVar12) / DAT_0030d3a4);
              pdVar25[iVar5 - iVar4] = (double)(((float)(uVar10 & 0x1f) * fVar12) / fVar11);
              pdVar25 = pdVar25 + iVar2;
              puVar36 = puVar32;
            } while (__s + uVar26 != puVar32);
            iVar23 = puVar17[0xccf];
            iVar27 = puVar17[7];
          }
          if (iVar23 == 0) {
            local_9c = SetImageProgress(puVar17,"Load/Image",local_ac,local_a8,iVar27,0);
            if (local_9c == 0) break;
            iVar27 = puVar17[7];
          }
          local_c8 = local_c8 + 1;
          bVar40 = 0xfffffffe < local_ac;
          local_ac = local_ac + 1;
          local_a8 = local_a8 + (uint)bVar40;
        } while (local_c8 < iVar27);
      }
      if ((uVar14 & 0x2000) != 0) {
        iVar22 = iVar22 - iVar18;
        if (((iVar22 < 0) || ((int)puVar17[9] <= iVar22)) && (iVar22 = 0, *param_2 != 0x1a9)) {
          ThrowMagickException
                    (param_2,"./MagickCore/colormap-private.h","ConstrainColormapIndex",0x23,0x1a9,
                     "InvalidColormapIndex","`%s\'",puVar17 + 0xc6);
        }
        if (uVar20 != 0x10) {
          puVar24 = (undefined4 *)(iVar22 * 0x50 + puVar17[10]);
          puVar39 = local_a0;
          for (iVar18 = 0x14; iVar18 != 0; iVar18 = iVar18 + -1) {
            *puVar39 = *puVar24;
            puVar24 = puVar24 + (uint)bVar41 * -2 + 1;
            puVar39 = puVar39 + (uint)bVar41 * -2 + 1;
          }
        }
        TransparentPaintImage(puVar17,local_a0,0,0,0,param_2);
      }
      RelinquishMagickMemory(__s);
      if (uVar21 == 0) {
        RelinquishMagickMemory(local_b0);
      }
      iVar18 = EOFBlob(puVar17);
      if (iVar18 != 0) {
        piVar30 = __errno_location();
        uVar45 = GetExceptionMessage(*piVar30);
        ThrowMagickException
                  (param_2,"coders/palm.c","ReadPALMImage",0x22e,0x1a9,"UnexpectedEndOfFile",
                   "\'%s\': %s",puVar17 + 0xc6,uVar45);
        DestroyString(uVar45);
LAB_0026266b:
        CloseBlob(puVar17);
        if (local_9c == 0) goto LAB_00262f23;
        puVar24 = (undefined4 *)GetFirstImageInList(puVar17);
        goto LAB_002621b8;
      }
      if (((*(int *)(param_1 + 0x2c) != 0) &&
          ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)puVar17[0x91])) ||
         (uVar15 == 0)) goto LAB_0026266b;
      uVar19 = (uint)uVar15 * 4;
      bVar40 = CARRY4(local_94,uVar19);
      local_94 = local_94 + uVar19;
      local_90 = local_90 + (uint)bVar40;
      lVar44 = GetBlobSize(puVar17);
      if (lVar44 <= CONCAT44(local_90,local_94)) {
        pcVar47 = "ImproperImageHeader";
        uVar46 = 0x1a9;
        uVar45 = 0x23e;
        goto LAB_0026218b;
      }
      lVar44 = SeekBlob(puVar17,local_94,local_90,0);
      if (lVar44 != CONCAT44(local_90,local_94)) {
        pcVar47 = "ImproperImageHeader";
        uVar46 = 0x1a9;
        uVar45 = 0x242;
        goto LAB_0026218b;
      }
      AcquireNextImage(param_1,puVar17,param_2);
      iVar18 = GetNextImageInList(puVar17);
      if (iVar18 == 0) break;
      puVar17 = (undefined4 *)SyncNextImageInList(puVar17);
      uVar42 = GetBlobSize(puVar17);
      uVar43 = TellBlob(puVar17);
      iVar18 = SetImageProgress(puVar17,"Load/Images",uVar43,uVar42);
    } while (iVar18 != 0);
    CloseBlob(puVar17);
LAB_00262f23:
    puVar24 = (undefined4 *)DestroyImageList(puVar17);
  }
LAB_002621b8:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_002decd0();
  }
  return puVar24;
}

